库二进制文件中的本地路径字符串

时间:2015-04-30 21:39:10

标签: gcc mingw build-process configure

使用MinGW + MSYS构建各种库后,我注意到所有生成的二进制文件(.a,.dll,.exe文件)都包含构建目录的本地路径:

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

我尝试使用以下命令剥离我认为是符号的符号,但它没有工作:

sh ./configure LDFLAGS="-s"
make

问题1:将这些看似毫无用处的信息保存到二进制文件中的目的是什么?其他人将使用这些信息?

问题2:如何防止它被完全保存(GCC中是否有开关将其关闭)?

1 个答案:

答案 0 :(得分:0)

正如MinGW邮件列表中已经回答的那样,看起来您正在构建嵌入调试信息。要删除它,请在完成构建后在可执行文件上运行strip实用程序。

strip *.exe *.dll
但是,不要这样剥离您的库,否则您将使它们无法使用。最好保持原样,调试信息到位,除非您打算将它们分发为"仅发布"质量,(我不是真的推荐 - 可执行文件和DLL是正常的发布质量可分发的)。如果必须执行此操作,则需要添加" -g"标记为" strip":

strip -g *.a