1

我最近开始在我的 msvc C++ 项目中使用 vcpkg。

我构建了 boost 1.67 并在我的 vs 项目中引用了它。安装 vcpkg 后,我添加了一些库,vcpkg 似乎为我安装了另一个提升并将其链接到我的项目。不幸的是,这种提升不起作用。我现在在构建项目时遇到了数十个错误。其中大部分是 E0145 和 LINK2019。我是 C++ 编程的新手。我想知道如何使用我构建的 boost 而不是为我安装的一个 vcpkg。

例如。错误之一是因为它更改了我的 BOOST_NO_CXX11_CONSTEXPR 并尝试使用 constexpr 而我的电脑不支持它。错误是:

E0145 member "boost::filesystem::path::separator" may not be initialized    c:\Users\admin\Libraries\boost_1_67_0\boost_1_67_0\boost\filesystem\path.hpp    65  

这是我自己的 boost 文件,但所有参考都是 c:\Users\xxx\vcpkg\vcpkg\installed\x86-windows\include\boost\config\detail\suffix.hpp

代替

C:\Users\xxx\Libraries\boost_1_67_0\boost_1_67_0\include\boost-1_67\boost\config\detail\suffix.hpp

我能做些什么来纠正这个问题?vcpkg-boost 的文件结构与我之前使用的 boost 1.67 不同。如果我用 1.67 的文件替换文件,恐怕在升级 vcpkg 及其库时它会被重置。请给我一些建议。

而且我也遇到了错误,例如,

LNK2019 unresolved external symbol "__declspec(dllimport) void __cdecl boost::filesystem::path_traits::convert(char const *,char const *,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class std::codecvt<wchar_t,char,struct _Mbstatet> const &)"......
4

0 回答 0