Qt Creator发布模式未定义对std::out_的引用超出范围 我用Qt Creator编写了一个小的C++程序(带有GUI),用MinGW编写。当我在调试模式下编译项目时,一切正常,但当我移动到发布模式时,就会出现编译器错误: undefined reference to 'std::out_of_range::~out_of_range()' thread.cpp
当我点击错误时,我还得到:Qt Creator发布模式未定义对std::out_的引用超出范围 我用Qt Creator编写了一个小的C++程序(带有GUI),用MinGW编写。当我在调试模式下编译项目时,一切正常,但当我移动到发布模式时,就会出现编译器错误: undefined reference to 'std::out_of_range::~out_of_range()' thread.cpp,qt,boost,mingw,release,qt-creator,Qt,Boost,Mingw,Release,Qt Creator,当我点击错误时,我还得到: File not found: thread.cpp 我已经查看了Boost安装,找到了thread.cpp,它应该在我的项目的include路径上 有什么想法吗 编辑:这是我的.pro文件: #------------------------------------------------- # # Project created by QtCreator 2012-08-10T12:09:39 # #-------------------------------
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
好的,问题已经解决了,但可能还没有完全理解。我通过将编译器切换到MSVC并更改链接器选项的语法(例如-lboost_thread-mgw46-mt-1_50->-llibboost_thread-vc100-mt-1_50)修复了它,现在编译没有问题。我会就我认为可能存在的问题提出我的理由,但如果答案错误,我希望得到更好的答案:
这可能是你的.pro文件有问题,你能发布它吗?抱歉,我在.pro文件中找不到任何错误谢谢你看一下:)我有一个隐秘的怀疑我的Boost库是用MSVC构建的,但我正在尝试用MinGW编译,这会有影响吗?