私のLIBRARY_PATH変数がエクスポートされていますが、私のライブラリにリンクするためにgccに-Lオプションを渡す必要があります。LIBRARY_PATH環境変数がgccで使用/読み込まれていない
GCCのドキュメントが正しく理解されている場合は、-lオプションを指定するだけでLIBRARY_PATH環境変数が表示されるはずです。
私は
gcc -Wall cog.c -L$HOME/lib -lutil
を実行すると、プログラムがコンパイルされ、そして予想通り、私はa.outのを取得します。
私は
gcc -Wall cog.c -lutil
を実行した場合、私は未定義の参照エラーが発生します。
私が知る限り、私は適切に環境変数をエクスポートしました。
cassiopeia~> export LIBRARY_PATH=$HOME/lib
cassiopeia~> ls $LIBRARY_PATH
libutil.a
手がかりはありますか?
私はFedora 23 64bitとgcc version 5.3.1 20160406(Red Hat 5.3.1-6)を使用しています。
LD_LIBRARY_PATHを試してください。 – zgrw
@ zgrw実行時にダイナミックライブラリを見つけるために 'LD_LIBRARY_PATH'がダイナミックローダ' ld.so'によって排他的に使用されています。コンパイラやリンカには影響しません。 – tofro