E0145成员“ boost :: filesystem :: path :: separator”可能未初始化,并且使用vcpkg的VS2017中的LINK2019错误

时间:2018-08-22 22:28:28

标签: c++ boost vcpkg

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

我建立了boost 1.67,并在我的vs项目中引用了它。安装vcpkg之后,我添加了一些lib,而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  

这是我自己的增强文件,但都引用到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 &)"......

0 个答案:

没有答案