嗨,我正在使用 Visual Studio 2010。我添加了 Qt 插件以及手动构建最后一个 boost 包。现在我开始了一个新项目,一个qt窗口应用程序。
在那里我使用了以下代码:
#include <boost/filesystem.hpp>
int main(int argc, char *argv[])
{
boost::filesystem::path p("c:/test/test.gmx");
boost::filesystem::path ext(p.extension());
boost::filesystem::path name(p.leaf().replace_extension(""));
//QApplication a(argc, argv);
//MainInterface w;
//w.show();
//return a.exec();
}
但是,这似乎失败了。当我使用完全相同的代码但不使用 qt 模板时,它可以工作。确切的错误如下:
1>main.obj : error LNK2019: unresolved external symbol "private: static class std::codecvt<unsigned short,char,int> const * & __cdecl boost::filesystem3::path::wchar_t_codecvt_facet(void)" (?wchar_t_codecvt_facet@path@filesystem3@boost@@CAAAPBV?$codecvt@GDH@std@@XZ) referenced in function "public: static class std::codecvt<unsigned short,char,int> const & __cdecl boost::filesystem3::path::codecvt(void)" (?codecvt@path@filesystem3@boost@@SAABV?$codecvt@GDH@std@@XZ)
1>main.obj : error LNK2019: unresolved external symbol "void __cdecl boost::filesystem3::path_traits::convert(char const *,char const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,class std::codecvt<unsigned short,char,int> const &)" (?convert@path_traits@filesystem3@boost@@YAXPBD0AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@ABV?$codecvt@GDH@5@@Z) referenced in function "void __cdecl boost::filesystem3::path_traits::dispatch<class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,class std::codecvt<unsigned short,char,int> const &)" (??$dispatch@V?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@@path_traits@filesystem3@boost@@YAXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAV?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@4@ABV?$codecvt@GDH@4@@Z)
我试图研究明显的设置;但是在项目属性中,boost库目录仍然位于VC++目录->库目录下
这是什么原因造成的?我该如何解决这个问题?