我在
instructions here之后下载并构建了Windows 7(64位)上的boost库(版本1.47.0).
现在,当我想使用Boost :: Filesystem库时,我可以包含头文件而不会出现问题,它会编译我的代码文件.问题出现在链接上.我收到以下错误;
main.obj : error LNK2019: unresolved external symbol "class boost::filesystem3::file_status __cdecl boost::filesystem3::detail::status(class boost::filesystem3::path const &,class boost::system::error_code *)" (?status@detail@filesystem3@boost@@YA?AVfile_status@23@AEBVpath@23@PEAVerror_code@system@3@@Z) referenced in function "bool __cdecl boost::filesystem3::exists(class boost::filesystem3::path const &)" (?exists@filesystem3@boost@@YA_NAEBVpath@12@@Z)
main.obj : error LNK2019: unresolved external symbol "private: static class std::codecvt<wchar_t,char,int> const * & __cdecl boost::filesystem3::path::wchar_t_codecvt_facet(void)" (?wchar_t_codecvt_facet@path@filesystem3@boost@@CAAEAPEBV?$codecvt@_WDH@std@@XZ) referenced in function "public: static class std::codecvt<wchar_t,char,int> const & __cdecl boost::filesystem3::path::codecvt(void)" (?codecvt@path@filesystem3@boost@@SAAEBV?$codecvt@_WDH@std@@XZ)
(在其他人中)
值得注意的是,当我第一次尝试构建项目时,它说它无法找到.lib文件libboost_filesystem-vc100-mt-1_47.lib.我没有具体告诉它需要该文件所以不确定它是如何计算出来的?无论哪种方式,我将链接器指向正确的目录,然后它给出了上述错误.
有人知道如何解决这个问题吗?谢谢.
编辑:我正在通过eclipse CDT使用VS2010工具链来构建系统.完整的编译命令是
cl /c /EHs /MD /Zi /I"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include" /I"C:\boost_1_47_0" /nologo <SOURCE_FILE>
和链接器命令
link /debug /nologo /libpath:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64 /libpath:C:\boost_1_47_0\stage\lib /libpath:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64 /OUT:<EXE_NAME> <OBJECT_FILES>
最佳答案 使用address-model = 64 b2命令行开关重建Boost库.这构建了64位库.