1
MakefileでLDFLAGSとリンクする際にライブラリの名前を知る方法はありますか?例えばMakefile内のライブラリの適切なLDFLAGを見つけるには?
:
libxml2.dylibが実際にそれらのフラグが指定されている-lz
とリンクされたzlibを命名された-lxml2
libz.dylibとリンクされていますか?誰がそれらをどのように見ますか?
MakefileでLDFLAGSとリンクする際にライブラリの名前を知る方法はありますか?例えばMakefile内のライブラリの適切なLDFLAGを見つけるには?
:
libxml2.dylibが実際にそれらのフラグが指定されている-lz
とリンクされたzlibを命名された-lxml2
libz.dylibとリンクされていますか?誰がそれらをどのように見ますか?
慣習的に、先の 'lib'をライブラリファイル名から削除します。呼ばれるライブラリファイルの場合は、「libmyspecial_library.so」、対応するフラグは次のとおりです。
-lmyspecial_library
これは実際には、GCCコンパイラで慣例です。
-llibrary Use the library named library when linking. The linker searches a standard list of directories for the library, which is actually a file named `liblibrary.a'. The linker then uses this file as if it had been specified precisely by name....
先頭の 'lib'と末尾の' .dylib'を外し、先頭の '-l'を付加:詳細はgcc man pageを参照してください。何がそんなに混乱しているのか、それについて一貫性がないのですか? –