如何在 boost 1.57 中安装 boost 模块(应用程序和 dll)
How to install boost modules in boost 1.57 (application and dll)
我要安装:
我正在按照 Boost.DLL 的指示进行操作,其中说:
- 克隆
Boost.DLL
存储库:git clone https://github.com/apolukhin/Boost.DLL dll
- 进入
dll/test
文件夹和运行./b2
:cd dll/test; ../../../b2
测试失败:
F:\P\thridparty\boost\boost/function/function_template.hpp(767) :
error C2664: 'int (boost::detail::function::function_buffer &,T0)' :
cannot conv parameter 2 from 'std::string' to
'std::basic_string<_Elem,_Traits,_Alloc> '
(我也试图将 include/boost/* 复制到 /boost/*)
据我所知,测试已通过...
但是当我尝试使用它时我找不到它...即使使用 cmake
find_package( Boost 1.57 COMPONENTS system filesystem dll application REQUIRED )
我得到:
Could not find the following Boost libraries:
boost_dll
boost_application
那么安装这些模块的正确方法是什么?
Boost::Application和Boost::DLL不是Boost的一部分,所以Cmake找不到。
到目前为止我没有深入研究 Boost::DLL,但是 Boost::Application 可以通过简单的 clone/submodule 用于您的项目。它是 header 唯一的库,因此不需要 build/install。
可以找到示例项目 on github。
在我的例子中,它是 /hdr/application 的 git 子模块。
有两种方法:
- 如果您想使用现有的 boost 安装,那么,由于库只有 header,您只需将目录 "include/boost" 的内容复制到您的 include 文件夹中提升安装,例如。
copy "Boost.Application/include/boost/*" to "boost_installation_dir/boost/"
- 如果你想构建 boost 和 运行 测试等,你需要将它们复制到你的 boost 源的 libs 目录中(不是你的 boost 安装),所以有一个 boost/libs/application 和一个"boost/libs/dll",例如:
copy "application" to "boost_src_dir/libs"
然后像往常一样在您的平台上构建和安装 boost(遵循 getting started)
无论哪种方式:您不必在您的 cmake 文件中执行 find_package,因为这两个库仅是 header,只需将 header 包含在您的源代码中即可文件。
至于测试:它们对我也不起作用,但实际上您不需要它们来使用库..
我要安装:
我正在按照 Boost.DLL 的指示进行操作,其中说:
- 克隆
Boost.DLL
存储库:git clone https://github.com/apolukhin/Boost.DLL dll
- 进入
dll/test
文件夹和运行./b2
:cd dll/test; ../../../b2
测试失败:
F:\P\thridparty\boost\boost/function/function_template.hpp(767) : error C2664: 'int (boost::detail::function::function_buffer &,T0)' : cannot conv parameter 2 from 'std::string' to 'std::basic_string<_Elem,_Traits,_Alloc> '
(我也试图将 include/boost/* 复制到 /boost/*)
据我所知,测试已通过...
但是当我尝试使用它时我找不到它...即使使用 cmake
find_package( Boost 1.57 COMPONENTS system filesystem dll application REQUIRED )
我得到:
Could not find the following Boost libraries:
boost_dll boost_application
那么安装这些模块的正确方法是什么?
Boost::Application和Boost::DLL不是Boost的一部分,所以Cmake找不到。
到目前为止我没有深入研究 Boost::DLL,但是 Boost::Application 可以通过简单的 clone/submodule 用于您的项目。它是 header 唯一的库,因此不需要 build/install。
可以找到示例项目 on github。
在我的例子中,它是
有两种方法:
- 如果您想使用现有的 boost 安装,那么,由于库只有 header,您只需将目录 "include/boost" 的内容复制到您的 include 文件夹中提升安装,例如。
copy "Boost.Application/include/boost/*" to "boost_installation_dir/boost/"
- 如果你想构建 boost 和 运行 测试等,你需要将它们复制到你的 boost 源的 libs 目录中(不是你的 boost 安装),所以有一个 boost/libs/application 和一个"boost/libs/dll",例如:
copy "application" to "boost_src_dir/libs"
然后像往常一样在您的平台上构建和安装 boost(遵循 getting started)
无论哪种方式:您不必在您的 cmake 文件中执行 find_package,因为这两个库仅是 header,只需将 header 包含在您的源代码中即可文件。
至于测试:它们对我也不起作用,但实际上您不需要它们来使用库..