无法识别的命令行选项“-rdynamic”上GCC v4.9.2 [英] unrecognized command line option ‘-rdynamic’ on GCC v4.9.2
问题描述
我使用GCC v4.9.2在Cygwin下在Windows 7 64位,但运行到一个问题,尝试编译的 uWSGI 。
I'm using GCC v4.9.2 under Cygwin on Windows 7 64-bit, but running into an issue trying to compile uWSGI.
我收到的错误是 -
The error I'm receiving is -
gcc: error: unrecognized command line option ‘-rdynamic’
GCC版本的输出 -
GCC version output -
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/4.9.2/lto-wrapper.exe
Target: x86_64-pc-cygwin
Configured with: /cygdrive/i/szsz/tmpp/gcc/gcc-4.9.2-3.x86_64/src/gcc-4.9.2/configure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-4.9.2-3.x86_64/src/gcc-4.9.2 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib --datarootdir=/usr/share --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=ada,c,c++,fortran,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id
Thread model: posix
gcc version 4.9.2 (GCC)
我与 CFLAGS =调用构建 - WNO错误。让
我不知道为什么我得到这个错误,我可以从的这里该标志 -rdynamic
存在。
I'm not sure why I'm getting this error as I can see in the documentation from here that flag -rdynamic
exists.
我是什么失踪?
推荐答案
我想我知道了......
I think I've got it...
下面是我的笔记本电脑会发生什么( Cygwin的2.831 86 的上的 W7 64 的):
Here's what happens on my laptop (Cygwin 2.831 x86 on W7 x64):
gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-cygwin/4.8.2/lto-wrapper.exe
Target: i686-pc-cygwin
Configured with: /cygdrive/i/szsz/tmpp/cygwin64/gcc/gcc-4.8.2-1/src/gcc-4.8.2/configure --srcdir=/cygdrive/i/szsz/tmpp/cygwin64/gcc/gcc-4.8.2-1/src/gcc-4.8.2 --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --localstatedir=/var --sysconfdir=/etc --libdir=/usr/lib --datarootdir=/usr/share --docdir=/usr/share/doc/gcc -C --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --disable-__cxa_atexit --with-dwarf2 --with-arch=i686 --with-tune=generic --disable-sjlj-exceptions --enable-languages=ada,c,c++,fortran,java,lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --disable-libitm --enable-libquadmath --enable-libquadmath-support --enable-libssp --enable-libada --enable-libjava --enable-libgcj-sublibs --disable-java-awt --disable-symvers --with-ecj-jar=/usr/share/java/ecj.jar --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib
Thread model: posix
gcc version 4.8.2 (GCC)
当我路过的 -rdynamic
When I pass -rdynamic
:
gcc -rdynamic
gcc: fatal error: no input files
compilation terminated.
相比于
-rdynamic1
Compared to -rdynamic1
:
gcc -rdynamic1
gcc: error: unrecognized command line option ‘-rdynamic1’
gcc: fatal error: no input files
compilation terminated.
的人
的网页我的的gcc 的提到它(我不知道是怎么了有关),但 GCC -v --help
下的链接特定选项不显示它。
我想,或许真的是关于如何在 GCC
s的配置,但我没有看到将此事任何区别(两者都有不同 - 与-gnu-LD
- 这似乎相关 - 指定)
The man
page of my gcc mentions it (I'm not sure how relevant is that), but gcc -v --help
doesn't display it under the linker specific options.
I thought that maybe something is different about how the gcc
s are configured but I didn't see any difference that would matter (both have --with-gnu-ld
- which seems related - specified).
然后我下载 4.8.2
和 4.9.2
来源并开始搜索和比较,但再次我找不到找不到任何东西(这是真的搜索,可广泛推广:))。
Then I downloaded 4.8.2
and 4.9.2
sources and start searching and comparing but again I couldn't find anything (it's true the search could be widely extended :) ).
不过,在浏览配置
文件我注意到的东西,可能是相关的,然后我检查了 LD
命令行选项,我认为我有一个选择:
But while browsing the configure
file I noticed something that could be related, then I checked the ld
command line options and I think I have an alternative:
而不是 -rdynamic
:您可以通过 轮候册, - 出口全符号
。这对我的作品(这不是很重要,因为 -rdynamic
也适用于我,不像你的情况:))
Instead of -rdynamic
you could pass -Wl,--export-all-symbols
. That works for me (that's not very relevant since -rdynamic
also works for me, unlike in your case :))
这篇关于无法识别的命令行选项“-rdynamic”上GCC v4.9.2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!