我试图用CodeLite编译静态库项目并得到错误:
ar rcus ./Debug/libtestlib.a @"testlib.txt"
ar: @testlib.txt: No such file or directory但我有文件testlib.txt。当我检查导出的makefile时,我看到:
$(AR) $(ArchiveOutputSwitch)$(OutputFile) @$(ObjectsFileList) $(ArLibs)对我来说,在ObjectsFileList附近看到@符号是很奇怪的。如何在CodeLite中编译静态库项目?
发布于 2014-05-23 15:01:37
@"testlib.txt"是一种让链接器(在您的情况下是ar )从文件而不是从命令行读取对象列表的方法,这是因为在某些操作系统上,程序可以从命令行接受输入字符串的限制。
通常这不是一个问题(您没有提到您的操作系统和CodeLite版本是什么),但是如果这是一个问题(就像在您的例子中那样),您可以在CodeLite的菜单栏中禁用它:
Settings -> Build Settings -> Compilers -> <Your Compiler Name> -> Advanced
取消选中选项:“通过文件将对象列表传递给链接器”,您的问题就会消失。
FYI:我只在OSX上看到这个错误,这里是这样的吗?
埃兰
https://stackoverflow.com/questions/23828202
复制相似问题