Qt creator:boost::gregorian::greg_month::as_short_string()const';的未定义引用;

Qt creator:boost::gregorian::greg_month::as_short_string()const';的未定义引用;,qt,boost,Qt,Boost,正在尝试在Win7 64位上的Qt Creator中运行以下代码 #include <boost/date_time/posix_time/posix_time.hpp> #include <boost/date_time/gregorian/gregorian.hpp> int main() { using namespace boost::posix_time; ptime t = microsec_clock::universal_time();

正在尝试在Win7 64位上的Qt Creator中运行以下代码

#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/date_time/gregorian/gregorian.hpp>

int main() {
    using namespace boost::posix_time;
    ptime t = microsec_clock::universal_time();
    std::cout << to_iso_extended_string(t) << "Z\n";
}
我得到以下错误:

c:\ProgramFiles(x86)\boost\boost\u 1\u 47\boost\date\u time\date\u格式。hpp:49:错误:未定义对“boost::gregorian::greg\u month::as\u long\u string()const”的引用

c:\ProgramFiles(x86)\boost\boost\u 1\u 47\boost\date\u time\date\u格式。hpp:44:错误:未定义对“boost::gregorian::greg\u month::as\u short\u string()const”的引用


我怎样才能让它工作?我读到我需要建立日期时间库,但我不确定我会怎么做。

< p>这些库二进制文件是用Visual C++编译器编译的(可以用文件名中的“VC71”来猜),但是你使用的是QWGrand和MIW编译器,你不能混合用不同编译器编译的C++库。(只有库的C部分可用)

您可以继续使用MIW并重新编译Boost自己,或者更改QtC造饰件在项目配置中使用的编译器,假设您安装了VisualC++的任何版本和编译器的QT二进制文件。
*:由于可以使用许多不同的不兼容选项配置MinGW,因此重新编译boost比使用预编译的二进制文件更安全,除非您确定它们是使用Qt SDK中包含的相同MinGW构建的。

但是,当我使用visual studio时,会出现以下错误:错误6错误LNK1104:无法打开文件“libboost\u date\u time”VC100-MT-GD1Y47。LIB’使用C++安装程序安装Boost。我可以在LIB中找到其他LBoBoSTStDATEJIMTIM.LIB文件,但它们不是这个。如果您从Boost Pro网站下载了VC++的Boost二进制文件,Irc必须选择VC++二进制文件的版本(从他们的下载页面,10个似乎是其中之一)。我如何才能让vs找到它呢?它位于C:\ProgramFiles(x86)\boost\boost\u 1\u 47\libLinker/input/Additinal dep:$(QTDIR)\lib\qtmaind.lib;$(QTDIR)\lib\QtDeclaratived4.lib;$(QTDIR)\lib\QtNetworkd4.lib;$(QTDIR)\lib\QtCored4.lib;C:\Program Files(x86)\boost\boost\boost\boost\u 1\u 47\lib\boost\boost\tu date time-100-mt-gd.47;%(AdditionalDependencies)给出了“错误6错误LNK1104:无法打开文件'libboost_date_time-vc100-mt-gd-1_47.lib'”您可以继续使用QtCreator作为IDE,并使用VC++编译器与相同的.pro文件(带有“vc100.lib”)、使用“Ctrl+T”更改当前配置,如果VC++2010不是其中之一,则可以转到“项目”页面并使用“构建设置”页面顶部的“添加”按钮添加。您还可以配置其他参数,如工具链。
INCLUDEPATH += "C:\Program Files (x86)\boost\boost_1_47"
CONFIG += boost
LIBS += -L"C:\Program Files (x86)\boost\boost_1_47\lib"
LIBS += -lboost_date_time-vc71-mt-1_47