我在 IO.h 和 IO.cpp 中有 C++ 源代码,想制作一个静态库 libvcf.a 。 然后我使用以下命令:
g++ -c IO.cpp
没问题。
但是,
ar -r libvcf.a IO.o
/usr/bin/ranlib: file: libvcf.a(IO.o) has no symbols
我现在使用的是 Mac OSX Lion,g++ 版本如下:
g++ -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~1/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
看起来我可以在 Linux 上使用相同的命令,但不能在 Mac 上使用。 我也用谷歌搜索但没有运气。 这里有什么建议吗?谢谢。
最佳答案
我认为完整的命令应该是:
ar rcs libvcf.a IO.o
c
表示“创建存档”。
关于c++ - Mac Lion 无法使用 'ar'、 'no symbols' 创建库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8221608/