clang: Warnung: -lgtest: 'linker' input unbenutzt

Entwickle ich Anwendungen in C++11 und mein compiler CLang++ 3.3. Ich benutze auch Netbeans IDE 7.3 auf Linux Mint 14.

Alle meine tests sind fertig mit GoogleTest (gtest-1.6.0) und fast alles ist in Ordnung, außer der Warnung erwähnt, in der Titel von diesem post.

Hier ist die Befehlszeile ausgeführt von netbeans als Beispiel:

clang++ -pedantic-errors -lgtest -pthread   -c -g -Wall -std=c++11 -pedantic-errors -lgtest -pthread -MMD -MP -MF build/Debug/CLang-Linux-x86/_ext/1802678175/main.o.d -o build/Debug/CLang-Linux-x86/_ext/1802678175/main.o ../GIT_CryptoCode/src/main.cpp

Ich weiß nicht, warum, aber der Befehl enthält zweimal einige Attribute, die bietet die gleiche Warnung zweimal natürlich. Dies ist, was ich in den Projekt-Eigenschaften :
clang: Warnung: -lgtest: 'linker' input unbenutzt
Wenn ich entfernen Sie die Zusätzlichen Optionen, gtest nicht funktioniert, und die Kommandozeile wird so etwas wie dieses : clang++ -c -g -Wall -std=c++11 .... Was sollte ich tun, um nicht einige Attribute werden Duplikate ?

Gut, auch mit cmake, ich bekam die Warnung mit Clang (die angezeigt wird, sobald diese Zeit :)). Ich habe auch getestet mit GCC 4.7 und ich bekam keine Warnung. Hier ist die Befehlszeile, die ich verwenden in einem cmake-Datei für den GCC :

set (CMAKE_CXX_FLAGS                "-Winline -Wall -Werror -pedantic-errors -pthread -std=c++11")

So, das Geräusch scheint das problem zu sein. Ist jemand wissen, wo diese Warnung kommt und wie es zu entfernen ? Ist dieses Geräusch bug ?

Vielen Dank für Ihre Hilfe.

  • -lgtest ist ein linker-Anweisung zu verknüpfen gtest Bibliothek. Sollte es nicht erscheinen in CMAKE_CXX_FLAGS, würde ich erwarten, dass Sie (oder eine variable Vertretung) zu erscheinen, in der so etwas wie ein target_link_libraries nennen oder sogar add_executable. Und ich glaube nicht, verwenden Sie NetBeans, aber ich würde erwarten, dass diese option fallen unter die "Linker" - Menü statt "C++ Compiler" Menü.
  • du hast Recht. Ich bearbeitet meine post zu löschen, die -lgtest im set Befehl. Danke für den Kommentar[+1].
  • So ist -lgtest Weg aus der "Zusätzliche Optionen" jetzt? Haben Sie Hinzugefügt gtest als Abhängigkeit in das "Libraries" - Bereich?
  • Habe das problem behoben mit Ihre Hilfe, ich danke Ihnen sehr. Ich habe gerade gebucht, meine Antwort mit Erklärungen. Wenn andere Leute das gleiche Problem wie ich, werden es einfacher für Sie, um es zu lösen.
InformationsquelleAutor Gabriel L. | 2013-10-24
Schreibe einen Kommentar