我想安装:
我正在按照Boost.DLL的说明说:
Boost.DLL
repository: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): 错误C2664:'int(boost :: detail :: function :: function_buffer&,T0)': 无法将参数2从'std :: string'转换为 “的std :: basic_string的< _Elem,_Traits,_Alloc> “
(我也试图将include / boost / *复制到/ boost / *)
据我所知,测试通过......
但是当我尝试使用它时,我找不到它......即使使用cmake
find_package( Boost 1.57 COMPONENTS system filesystem dll application REQUIRED )
我得到了:
无法找到以下Boost库:
boost_dll boost_application
那么安装这个模块的正确方法是什么?
答案 0 :(得分:2)
Boost :: Application和Boost :: DLL不是Boost的一部分,因此Cmake无法找到它们。
到目前为止,我还没有深入研究Boost :: DLL,但Boost :: Application可以通过简单的clone / submodule与您的项目一起使用。它只是标题库,因此不需要构建/安装。
可以找到示例项目on github。
在我的情况下,它是git子模块<项目根> / hdr / application。
答案 1 :(得分:2)
有两种方法:
copy" Boost.Application / include / boost / *"到" boost_installation_dir / boost /"
copy" application" to" boost_src_dir / libs"
然后,就像平常一样在平台上构建和安装boost(遵循getting started)
无论哪种方式:您不必在cmake文件中执行find_package,因为这两个库只是标题,只需在源文件中包含标题即可。
关于测试:他们也不适合我,但你实际上并不需要他们来使用这些文件。