编译库项目时出现CodeLite错误

时间:2014-05-23 11:36:58

标签: codelite

我试图用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中编译静态库项目?

1 个答案:

答案 0 :(得分:3)

@"testlib.txt"是一种让链接器(或你的ar)从文件而不是从命令行读取对象列表的方法,这是因为在某些操作系统上,程序可以从命令行接受输入字符串的限制。

通常这不是问题(你没有提到你的操作系统和CodeLite版本是什么)但如果它是一个问题(如你的情况),你可以从CodeLite的菜单栏中禁用它:

Settings -> Build Settings -> Compilers -> <Your Compiler Name> -> Advanced

并取消选中该选项: “通过文件将对象列表传递给链接器”,你的问题就会消失

供参考: 我只在OSX上看到过这个错误,这是这种情况吗?

叶兰