【发布时间】:2011-01-08 07:47:43
【问题描述】:
我第一次尝试在 cygwin 上编译一个 gcc 项目。构建失败,因为下划线是所有符号的前缀。这导致符号与没有前导下划线的 GLIB 库(通过 CYGWIN 包管理系统安装)不匹配。这种放置前导下划线的趋势是否记录在某个地方?
【问题讨论】:
-
你能显示你的编译和链接命令吗?
我第一次尝试在 cygwin 上编译一个 gcc 项目。构建失败,因为下划线是所有符号的前缀。这导致符号与没有前导下划线的 GLIB 库(通过 CYGWIN 包管理系统安装)不匹配。这种放置前导下划线的趋势是否记录在某个地方?
【问题讨论】:
使用-fleading-underscore 和/或-fno-leading-underscore 获得您想要的行为。 This question 有很多与你正在做的事情相关的信息。
【讨论】:
Cygwin 的编译器会这样做,因为 Visual C++ 会这样做。他们试图最小化两者之间不必要的差异的数量,以帮助将用一个构建的代码与另一个构建的代码联系起来。通常还有其他因素会阻止您在 Visual C++ 中使用 Cygwin 代码,反之亦然,但这不是其中之一。
【讨论】: