1

MakefileでLDFLAGSとリンクするときに、ライブラリの名前をどのように知ることができますか?

例えば:

libxml2.dylibは-lxml2とリンクされています

実際にzlibという名前のlibz.dylibは-lzでリンクされています

それらのフラグはどこに指定されていますか?それらをどのように調べますか?

4

1 に答える 1

2

慣例により、ライブラリファイル名から前の「lib」を削除します。'libmyspecial_library.so'というライブラリファイルの場合、対応するフラグは次のとおりです。

-lmyspecial_library

これは実際にはgccコンパイラの慣例です。詳細については、gccのmanページを参照してください。

   -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....
于 2012-04-09T03:59:12.203 に答える