1

有时,我尝试编译一些代码,但 g++ 似乎会创建错误的临时程序集,如下所示:

$ g++ -m32 -o foobar foo.cc bar.cc -O2 -lm -Wall
/var/folders/dz/yk2hf77n13x362dhx14czh4r0000gn/T//cc08wrgL.s:6011:FATAL:Symbol label already defined.

如何调试这个?

gcc 配置 =

Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

其他观察:我正在使用-m32开关构建 32 位(上面的示例已更新)。如果我编译-O1或者-O4我没有这个问题。

4

0 回答 0