1

在 Makefile 中将库与 LDFLAGS 链接时如何知道库的名称?

例如:

libxml2.dylib 与 -lxml2 链接

实际上名为 zlib 的 libz.dylib 与 -lz 链接

这些标志在哪里指定?如何查找它们?

4

1 回答 1

2

按照惯例,您从库文件名中删除前面的“lib”。对于名为“libmyspecial_library.so”的库文件,相应的标志是:

-lmyspecial_library

这实际上是 gcc 编译器的约定。有关更多信息,请参见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....
于 2012-04-09T03:59:12.203 回答