[英]Qt Creator release mode undefined references to std::out_of_range
我正在用Qt Creator編寫一個小的C ++程序(帶有GUI),並用MinGW進行編譯。 當我在調試模式下編譯項目時,一切工作都很好,但是當我進入發布模式時,我會遇到編譯器錯誤:
undefined reference to 'std::out_of_range::~out_of_range()' thread.cpp
當我單擊錯誤時,我還會得到:
File not found: thread.cpp
我已經查看了我的Boost安裝並找到thread.cpp,它應該在我的項目的包含路徑中。
有任何想法嗎?
編輯:這是我的.pro文件:
#-------------------------------------------------
#
# Project created by QtCreator 2012-08-10T12:09:39
#
#-------------------------------------------------
QT += core gui
TARGET = GeneDropWin
TEMPLATE = app
SOURCES += main.cpp \
genedrop.cpp \
mainbody.cpp \
biofunctions.cpp \
fileio.cpp \
settings.cpp
HEADERS += genedrop.h \
geneclasses.h \
paramclass.h \
mainbody.h \
biofunctions.h \
fileio.h \
geneclasses.h \
settings.h
FORMS += genedrop.ui \
settings.ui
#Stuff I've added
INCLUDEPATH += "C:\\Program Files\\boost_1_50_0"
LIBS += -L"C:\\Program Files\\boost_1_50_0\\stage\\lib" -lboost_thread-mgw46-mt-1_50 -lboost_system-mgw46-mt-1_50 -lboost_date_time-mgw46-mt-1_50 -lboost_chrono-mgw46-mt-1_50
CONFIG += static \
release
RESOURCES += \
NIABLogo.qrc
好的,問題已解決,但可能尚未完全理解。 我通過將編譯器切換到MSVC並更改了鏈接器選項的語法(例如,-lboost_thread-mgw46-mt-1_50-> -llibboost_thread-vc100-mt-1_50)來解決了該問題,現在編譯沒有問題。 對於我認為可能是問題的原因,我將提出自己的看法,但如果出錯,我將提供更好的答案:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.