我正在用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,它应该在我项目的include路径上。
有什么想法吗?
编辑:这是我的.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
答案 0 :(得分:0)
好的,问题已解决,但可能还没有完全理解。我通过将编译器切换到MSVC并更改链接器选项的语法(例如-lboost_thread-mgw46-mt-1_50 - > -llibboost_thread-vc100-mt-1_50)来修复它,现在编译没有问题。我会提出我的想法,我认为可能是什么问题,但如果错的话会更好的答案: