Qt5.1 / Qt5.2 + Mac OS 10.9 (Mavericks) + XCode 5.0.2, Undefinierte Symbole für die Architektur x86_64
Umgebung: Mac OS 10.9 + Qt5.1 / Qt5.2 + OpenCV2.4.7 + XCode (5.0.2)
Ich kann folgendes Programm über das Terminal kompilieren
g++ -L/usr/local/lib -lopencv_core -lopencv_highgui \
-I/usr/local/include main.cpp
Das Programm a.out läuft normal.
Wenn ich jedoch Qt 5.1 / 5.2 zum Ausführen dieses OpenCV-Programms verwende, erhalte ich "Undefinierte Symbole für die Architektur x86_64".
Qt5 funktioniert jedoch normalerweise für ein einfaches HelloWorld c ++ - Programm.
Was ist los ?
Hier ist der Code.
#include <iostream>
#include "opencv2/highgui/highgui.hpp"
using namespace std ;
using namespace cv ;
int main()
{
Mat img ;
img = imread("image.jpg") ;
return 0;
}
Und das ist die Projekteinstellung
INCLUDEPATH += /usr/local/include
LIBS += -L/usr/local/lib
LIBS += -lopencv_core -lopencv_highgui -v
cache()
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
Hier ist die Kompilierungsnachricht
/Users/XXX/Qt5.2.0/5.2.0-beta1/clang_64/bin/qmake -spec macx-clang CONFIG+=debug -o Makefile /Users/XXX/Desktop/untitled/untitled.pro
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -headerpad_max_install_names -Wl,-syslibroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.6 -o untitled main.o -L/usr/local/lib -lopencv_core -lopencv_highgui -v
Mit -v wird der Aufruf angezeigt
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -headerpad_max_install_names -macosx_version_min 10.6.0 -o untitled -lcrt1.10.6.o -L/usr/local/lib -syslibroot
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk main.o -lopencv_core -lopencv_highgui -lstdc++ -lSystem
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/5.0/lib/darwin/libclang_rt.osx.a
Und hier ist die Fehlermeldung
Undefined symbols for architecture x86_64:
"cv::imread(std::string const&, int)", referenced from:
_main in main.o
.... and so on
Ich habe geprüft, dass das Problem nichts damit zu tun hat-lstdc++
oder-std=c++11
oder-stdlib=libstdc++
. mithilfe der Befehlszeile kompilieren.
Irgendwelche Ideen oder Vorschläge?