Qt 5.2 Mac 10.10.1架构x86_64的未定义符号

时间:2015-02-11 20:46:22

标签: c++ macos qt opencv

我正在我的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

但仍然无法工作.... :(

1 个答案:

答案 0 :(得分:5)

Undefined symbols for architecture x86_64

这意味着编译器无法解析符号的地址。

因此您需要在专业版中为这些符号添加库。文件。

例如,

LIBS += -framework AppKit
LIBS += -framework CoreAudio
LIBS += -framework AudioToolbox

检查您的项目配置库。