を使用しようとしています./configure
。
私は持っています
3つのインクルードディレクトリ
-I/path1/include -I/path2/include -I/path3/include
2つのリンクディレクトリ
-L/path1/lib -L/path2/lib
2つの
-l
ロゴオプション-ltensorflow -lasan
2つのコンパイルフラグ
-O3 -g
これらのすべてのフラグをオプションとしてどのように効率的に配置できますか./configure
?
答え1
これを行う標準的な方法は値を提供することです。さまざまな変数./configure
通話中:
./configure CPPFLAGS="-I/path1/include -I/path2/include -I/path3/include" \
CFLAGS="-O3 -g" \
LDFLAGS="-L/path1/lib -L/path2/lib" \
LIBS="-ltensorflow -lasan"
C ++コンパイラを使用する場合は、CXXFLAGS
代わりに(または追加で)を指定してくださいCFLAGS
。
これらの変数は環境でも設定できますが、推奨される方法は、コマンドライン引数で指定することです。再利用のために値を保存するため。バラよりコンパイル時の強制カバレッジ構成(例:CXXFLAGSなど)もっと学ぶ。
ほとんどの場合、多くのパスをフラグ付けすることはまれです。代わりに、さまざまな依存関係を見つけることができる場所をスクリプトに--with
伝えるオプションを見つけたいと思います。configure
たとえば、--with-tensorflow=/path/to/tensorflow
これにより適切な-I
フラグが設定されます。-L
走る
./configure --help
どのオプションが利用可能かを確認してください。
答え2
export CFLAGS="-I/path1/include -I/path2/include -I/path3/include -O3 -g"
export CXXFLAGS=$CFLAGS
export LDFLAGS="-L/path1/lib -L/path2/lib -ltensorflow -lasan"
./configure && make