我正在我的mac计算机上使用opencv,Qt应用程序,然而,编译给我的错误就像
Undefined symbols for architecture x86_64
我从这里创建解决方案,Qt5.1/Qt5.2 + Mac OS 10.9 (Mavericks) + XCode 5.0.2, Undefined symbols for architecture x86_64
我改变了/usr/local/Cellar/qt5/5.3.2/mkspecs/macx-clang/qmake.conf
这
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
到
QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9
清理项目后,它不起作用,我想知道其他任何改变?
/////更新////
之前我发现我的默认套件使用g ++作为编译器,现在我改为clang作为默认编译器,你可以在这里看到我的配置 https://www.dropbox.com/s/93viwvf1a70s347/Screenshot%202015-02-13%2002.43.23.png?dl=0
但是有什么问题,错误'架构x86_64的未定义符号'仍然存在,还有另一个错误:错误:链接器命令失败,退出代码为1(使用-v查看调用)
有什么不对?
///更新////
#-------------------------------------------------
#
# Project created by QtCreator 2014-06-08T01:54:11
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets webkitwidgets
TARGET = particle_filter
TEMPLATE = app
QT += network
SOURCES += main.cpp\
HEADERS += \
FORMS += \
parkingapp.ui \
#-------------------------------------------------
INCLUDEPATH += /usr/local/Cellar/opencv/2.4.9/include
LIBS += -L/usr/local/Cellar/opencv/2.4.9/lib \
-lopencv_core \
-lopencv_highgui \
-lopencv_imgproc \
-lopencv_video \
-lopencv_objdetect \
-lopencv_ml \
-lopencv_features2d
#-------------------------------------------------
后来我发现了这个http://qt-project.org/forums/viewthread/24551/P15,所以我把它添加到了.pro
的末尾LIBS += -stdlib=libc++
QMAKE_CXXFLAGS += -stdlib=libc++
QMAKE_CXXFLAGS += -std=c++11
QMAKE_CXXFLAGS += -mmacosx-version-min=10.9
QMAKE_LFLAGS += -mmacosx-version-min=10.9
但仍然无法工作.... :(
答案 0 :(得分:5)
Undefined symbols for architecture x86_64
这意味着编译器无法解析符号的地址。
因此您需要在专业版中为这些符号添加库。文件。
例如,
LIBS += -framework AppKit
LIBS += -framework CoreAudio
LIBS += -framework AudioToolbox
检查您的项目配置库。