目次
C++ ライブラリ ファイルとヘッダー ファイルの環境変数の設定
私たちは皆、Windows で環境変数を構成することに慣れています。たとえば、Windows でシステム環境変数を設定するには、構成パスをパスに追加するだけです。VS を使用してプロジェクト設定でライブラリ ファイルとヘッダー ファイルのパスを構成し、vscode を使用してcmake でコンパイルし、CMakeLists .txt を書き込みます。リンク ライブラリ ファイルまたはヘッダー ファイルは問題ありません。
Linux 環境では、いくつかの一般的なコマンドと定数値を覚えておく必要があります。参考のために以下にまとめます。
Linux 環境変数設定の基本手順
Linux では、環境変数はプログラムからアクセスできる一部のグローバル変数であり、システム動作の構成、ソフトウェアの実行時パラメーターの定義、その他の目的に使用できます。環境変数設定の詳細な手順は次のとおりです。
1. 環境変数を表示する
現在の環境変数を表示するには、printenv
またはコマンドを使用します。このコマンドはすべての環境変数を一覧表示し、指定された環境変数の値を出力できます。echo $VARIABLE_NAME
printenv
echo $
VARIABLE_NAME
2. 環境変数を設定する
Linuxではexport
コマンドを使用して変数を環境変数として設定できます。たとえば、MY_VAR
に設定するにはhello
、次のコマンドを実行します。
export MY_VAR=hello
複数の変数を環境変数として設定することもできます。次に例を示します。
export MY_VAR1=value1 export MY_VAR2=value2
3. 永続的に設定された環境変数
ログインするたびに環境変数を自動的に読み込みたい場合は、環境変数を.bashrc
ファイルに追加する必要があります。このファイルは各ユーザーの個人用 bash プロファイルであり、ユーザーがログインすると自動的にロードされます。このファイルは、次のコマンドで開くことができます。
vi ~/.bashrc
ファイルの末尾に以下を追加します。
export MY_VAR=value
次に、Esc
キーを押して編集モードを終了し、 Enter を押して:wq
保存して終了します。
設定が完了したら、次のコマンドを実行する必要があります。
source ~/.bashrc
環境変数を有効にするコマンド。このコマンドは.bashrc
ファイル構成された環境変数を有効にします。
4. 環境変数の使用
プログラム内で、環境変数の値を参照するために使用できます。たとえば、bash スクリプトでは、次のコードを使用して の値を取得できます。$VARIABLE_NAME
MY_VAR
echo $MY_VAR
hello
これにより、ステップ 2 で設定した値である が出力されます。
つまり、Linuxの環境変数の設定は非常に簡単で、export
コマンドで変数を環境変数として設定し、プログラム内で環境$VARIABLE_NAME
変数を参照するだけで済みます。ログインごとに自動的にロードする必要がある環境変数については、.bashrc
ファイルに追加するだけです。
C++ ライブラリ ファイルとヘッダー ファイルの環境変数の設定
C++ プログラムをコンパイルするときに、外部ライブラリ ファイルまたはヘッダー ファイルに依存する場合は、それらがどこにあるかをコンパイラーに伝える必要があります。一般的な方法は、コンパイラがコンパイル中に自動的にパスを見つけられるように、これらのパスを環境変数として設定することです。以下に 2 つのケースを示します。
1.soライブラリファイルの環境変数を設定します。
ディレクトリの下にlibfoo.so
という名前の共有ライブラリがあるとします。次のコマンドを使用して、そのパスを環境変数/usr/local/lib
に追加できます。LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
このようにして、libfoo.so
使用するプログラムをコンパイルするときに、コンパイラーは/usr/local/lib
ディレクトリー内でライブラリー・ファイルを自動的に検索します。
2. ヘッダーファイルの環境変数を設定します。
ディレクトリにfoo.h
という名前のヘッダー ファイルがあるとします。次のコマンドを使用して、そのパスを環境変数/usr/local/include
に追加できます。CPLUS_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=/usr/local/include:$CPLUS_INCLUDE_PATH
このようにして、foo.h
使用するプログラムをコンパイルするときに、コンパイラーは/usr/local/include
ディレクトリ内のヘッダー ファイルを自動的に検索します。
もちろん、これら 2 つの命令を ~/.bashrc に書き込んで、永続的に有効にすることもできます。
つまり、C++ の環境変数をライブラリ ファイルまたはヘッダー ファイルとして設定するのが一般的です。これにより、コンパイラがコンパイル中にそれらを自動的に見つけてコンパイル効率を向上させることができます。
Python ライブラリの環境変数の設定
Python では、環境変数を設定することで、Python インタープリターにライブラリ ファイルの場所を指示することもできます。以下に例を示します。
というmylib
名前の Python ライブラリが/path/to/mylib
ディレクトリの下にあるとします。PYTHONPATH
次のコマンドを使用して、そのパスを環境変数に追加できます。
export PYTHONPATH=/path/to/mylib:$PYTHONPATH
このようにして、 Python で使用するとimport mylib
、Python インタープリターは/path/to/mylib
ディレクトリ内のライブラリ ファイルを自動的に検索します。
さらに、sys.path
モジュールを使用して Python ライブラリのパスを動的に追加することもできます。次に例を示します。
import sys
sys.path.append('/path/to/mylib')
import mylib
この方法では、Python インタープリターもディレクトリ/path/to/mylib
内のライブラリ ファイルを自動的に検索します。
Linux 構成実行ファイルの環境変数
実行ファイルの環境変数を設定すると、実行ファイルのパス下で実行せずに、任意のパスで実行ファイルを直接実行できるようになります。以下に例を示します。
ディレクトリにmyprog
という名前の実行可能ファイルがあるとします。実行可能ファイルを任意のパスで直接実行できるように、その/path/to/myprog
パスを環境変数に追加できます。PATH
例えば:
export PATH=/path/to:$PATH
このようにして、任意のパスで実行するとmyprog
、システムは/path/to
ディレクトリ内の実行可能ファイルを自動的に見つけて実行します。
さらに、実行可能ファイルをシステムの標準パス ( や など/usr/bin
)にコピーして/usr/local/bin
、実行可能ファイルを任意のパスで直接実行できるようにすることもできます。ただし、この方法には管理者権限が必要になる場合があります。
環境変数の設定が多すぎると、システムのパフォーマンスとセキュリティに影響を与える可能性があるため、注意して使用する必要があることに注意してください。