2015-02-11 3 views
4

Я работаю над OpenCV, приложение Qt на моем компьютере макинтоша, однако, компилирование дает мне ошибку, какQt 5.2 Mac 10.10.1 неопределенные символы для архитектуры x86_64

Undefined symbols for architecture x86_64 

основателя I Решение здесь, 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 

после очистки проекта, он не работает, интересно любое другое изменить?

///// обновление ////

ранее я нашел свой набор по умолчанию использовал г ++ как компилятор, и теперь я изменил звенеть, как компилятор по умолчанию, вы можете увидеть мой конфиг здесь 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

Вы полностью удалили свои каталоги сборки? –

+0

Привет, Саймон, я попытался удалить папку и снова восстановить, но все равно не работает. Пока что я только изменил qmake.conf в macx-clang, который компилятор clang64bit для QT. но я не уверен, действительно ли я использую компилятор clang или компилятор g ++, это может быть проблемой, как вы думаете, я пытаюсь использовать этот – user824624

+0

, когда я перехожу в раздел компиляторов предпочтений QT, я вижу gcc 32bit, gcc 64 бит, clang 32 бит, clang 64bit автоматически обнаружен, но какой из них я точно использую, как проверить, какой компилятор я использую? – user824624

ответ

5
Undefined symbols for architecture x86_64 

Это означает, что компилятор не может решить адрес символов.

Поэтому у вас есть необходимость добавлять библиотеки для этих символов в вашем профи. файл.

Например,

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

Проверьте проект Настройка библиотек.

+2

Нажмите «O» в вопросе «Неопределенные символы для ...» в списке проблем Qt Creator, после чего вы можете увидеть выход компилятора. Это поможет вам, что не так. – covernal

Смежные вопросы