2015-04-30 149 views
0

後,我注意到,所有的結果二進制文件(。一,.DLL,.EXE文件)包含build目錄的本地路徑:本地路徑字符串

C:\MinGW\msys\1.0\home\UserName\LibraryDir 

我曾嘗試剝離了我認爲是通過使用下面的命令符號,但它沒有工作:

sh ./configure LDFLAGS="-s" 
make 

問題1:什麼是將被用於保存這個看似無用的信息,以二進制文件的目的反正其他人呢?

問題2:我怎樣才能防止它被完全保存(GCC中是否有開關將其關閉)?

回答

0

正如MinGW郵件列表上已經回答的那樣,看起來您正在構建嵌入了調試信息。要刪除它,請在完成構建後在可執行文件上運行strip實用程序。

strip *.exe *.dll 

但是,不要剝去這樣的庫,否則會使它們無法使用。除非您計劃將它們分發爲「僅發佈」質量(我不真正推薦 - 可執行文件和DLL是正常發佈質量可分發版),否則最好保留它們,並提供調試信息。如果必須這樣做,則需要將「-g」標誌添加到「strip」:

strip -g *.a