2014-05-23 133 views
0

我試着去編譯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中編譯靜態庫項目?

回答

3

@"testlib.txt"是讓(你的情況或ar)的連接的方式從一個文件,而不是在命令行中讀取對象名單,這是一些操作系統,因爲做了,對輸入的限制一個程序可以從命令行接受的字符串。

通常這不是一個問題(你沒有提到什麼是您的操作系統和CodeLite版本),但如果這是一個問題(如你的情況),你可以從CodeLite的菜單欄禁用此:

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

,並取消選中「通過文件傳遞對象列表的鏈接」 和你的問題將不復存在

FYI: 我只看到OSX這個錯誤,這是這裏的情況?

Eran

+0

是的,我在OSX上遇到了這個麻煩。我會嘗試這個解決方案,下次我能夠到我的Mac –

+0

我在OSX上有這個問題。看起來所需的* .txt文件已創建,但鏈接程序找不到它(?)。如上所述更改設置可以解決問題。 +1,謝謝。 –