我需要使用boost文件系统但是在windows(cl 2010 express)下我有一些链接器错误。 我使用Qt creator和qmake并且没有明确地链接。唯一认为我做的是给include和lib路径
win32 {
BOOSTHOME = C:/boost
INCLUDEPATH += $$BOOSTHOME\\boost_1_47
LIBS += -L$$BOOSTHOME\\boost_1_47\\lib
}
当我尝试构建时,我收到此错误:
main.obj:-1: 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)
我得到两个,与此类似。 我有与libarchive类似的问题但是当我动态链接时,一切都没问题 我必须做些什么来链接正确的
答案 0 :(得分:0)
对于windows和msvc 2010编译器必须添加define
DEFINES += BOOST_ALL_NO_LIB
之后用你的boost lib链接
LIBS += -lyourboostlib