Nicht erkannte Befehlszeilenoption '-rdynamic' auf GCC v4.9.2

Ich benutze GCC v4.9.2 unter Cygwin auf Windows 7 64-Bit, aber läuft in ein Problem, das versucht, uWSGI zu kompilieren.

Der Fehler, den ich empfange, ist –

gcc: error: unrecognized command line option '-rdynamic' 

GCC-Versionsausgabe –

 $ 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) 

Ich CFLAGS="-Wno-error" make den Build mit CFLAGS="-Wno-error" make .

Ich bin mir nicht sicher, warum ich diesen Fehler bekomme, wie ich in der Dokumentation von hier sehen kann, dass Flag -rdynamic existiert.

Was vermisse ich?

2 Solutions collect form web for “Nicht erkannte Befehlszeilenoption '-rdynamic' auf GCC v4.9.2”

Ich glaube ich habe es …

Hier ist was passiert auf meinem Laptop ( Cygwin 2.831 x86 auf 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) 

Wenn ich pass -rdynamic :

 gcc -rdynamic gcc: fatal error: no input files compilation terminated. 

Im Vergleich zu -rdynamic1 :

 gcc -rdynamic1 gcc: error: unrecognized command line option '-rdynamic1' gcc: fatal error: no input files compilation terminated. 

Die Manpage von meinem Gcc erwähnt es (ich bin nicht sicher, wie relevant das ist), aber gcc -v --help zeigt es nicht unter den gcc -v --help Optionen an. Ich dachte, dass vielleicht etwas anders ist, wie die gcc konfiguriert sind, aber ich habe keinen Unterschied gesehen, das wäre wichtig (beide haben --with-gnu-ld – was scheint verwandt – spezifiziert).

Dann habe ich 4.8.2 und 4.9.2 Quellen heruntergeladen und anfangen zu suchen und zu vergleichen, aber ich konnte nichts finden (es ist wahr, die Suche könnte weit erweitert werden :)).

Aber beim Durchsuchen der configure bemerkte ich etwas, das verwandt sein könnte, dann habe ich die ld Befehlszeilenoptionen überprüft und ich denke, ich habe eine Alternative:

Statt -rdynamic könnten Sie passieren -Wl,--export-all-symbols . Das funktioniert für mich (das ist nicht sehr relevant seit -rdynamic funktioniert auch für mich, anders als in deinem Fall :))

Der Link, den du sagst, sagt:

-rdynamic

Führen Sie die Flagge -export-dynamisch zum ELF-Linker, auf Zielen, die es unterstützen . Dies weist den Linker an, alle Symbole, nicht nur verwendet, der dynamischen Symboltabelle hinzuzufügen. Diese Option ist für einige Anwendungen von dlopen erforderlich oder um das Erhalten von Backtraces aus einem Programm zu ermöglichen.

(Betonung hinzugefügt.)

Ist Cygwin mit ELF-Format-Objektdateien? Es scheint unwahrscheinlich.

  • Bereitstellung von Flaschen-App mit uwsgi und flask-script Manager
  • Kann ich das uwsgi-Protokoll verwenden, um http anzurufen?
  • Remote Hotplug Python Debugger
  • Wie optimiere ich uWSGI für Heroku Router 'Proxy / Puffer Situation?
  • Ungültige Transaktion bleibt über Anfragen bestehen
  • Kann die Konfiguration von uwsgi nicht laden
  • Django App-Bereitstellung auf nGINX
  • Was ist der Vorteil, mehrere Threads pro UWSGI-Prozess zu laufen?
  • Super grundlegende uwsgi Konfiguration
  • ImportError: Kein Modul namens django.core.wsgi für uwsgi
  • Warum gibt PyMongo 3 ServerSelectionTimeoutError?
  • Python ist die beste Programmiersprache der Welt.