有关boost.log和boost.build(bjam)别名、构建和包含在目标中的帮助
Help with boost.log and boost.build (bjam) alias, building and including in target
我已经从SVN repo(trunk,rev 601)构建了boost.log,并试图将其包含在可执行文件中。lib可从VS2008中使用,但不能从bjam中使用。
我试图将boost.log库与其他boost库一样别名,但我得到了一个错误:"找不到名为'/boost/log'的文件或目标"
Boost是从源代码构建的(下面的命令),我对v1.45和v1.46.1 有同样的问题
Jamfile.jam(片段):
alias libboostpo : /boost//program_options : <link>static <threading>multi ;
alias libboostfs : /boost//filesystem : <link>static <threading>multi ;
alias libboostlog : /boost//log : <link>static <threading>multi ;
alias libfoundation : /path-foundation//foundation : <link>static <threading>multi ;
alias libtestcommon : /path-testcommon//testcommon : <link>static <threading>multi ;
exe foundationtest
: libfoundation libtestcommon
libboostpo libboostfs
libboostlog
libgtest_win libggmock_win
[ glob-tree *.cpp *.rc ]
: <toolset>msvc
;
用于构建boost的命令是:
bjam install variant=debug,release link=static,shared -j8 --prefix=%OutputPath% -s ZLIB_SOURCE=%PathToCOTS%zlib --without-python --without-mpi --without-wave --without-test --without-graph --without-math --toolset=msvc >> %logFile%
Boost Log库还不是官方的Boost库。(我不知道它在审查过程中进展了多远,但我在Boost的svn主干中没有看到它。)因此,它不在提供的Boost.jam文件(当前主干版本)中也就不足为奇了。
不过,boost.jam往往有点落后于实际提供的库,所以也许我错了。我不熟悉日志库,但是,如果你想将其添加到boost.jam文件中,很可能需要将此行(或类似的内容)添加到库列表中:
lib log
: filesystem
system
date_time
thread
regex
:
:
: <link>shared:<define>BOOST_LOG_DYN_LINK ;
在boostrongtd规则中,库的列表大约在文件的三分之二以下。(你不能错过它。那里还定义了25个其他库。)只有当日志库使用与其他boost库相同的命名约定时,这才有效。
另一种选择是编写自己的lib规则,然后自己指向该版本。这大概是
lib libboostlog
: /boost//headers
/boost//filesystem
/boost//system
/boost//date_time
/boost//thread
/boost//regex
: <name>boost_log
<link>static
<threading>multi ;
(依赖项列表取自boost日志安装说明。)
相关文章:
- 我应该包含什么来制作 boost.python 扩展?
- boost::包含提升单元的元组的哈希值
- boost::interprocess::managed_mapped_file 如何包含弹性向量?
- 包含来自 boost 1.73.0 的read_graphviz_new.cpp无法编译
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- C++ Boost-iostream:包含 filtering_streambuf.hpp 时出现神秘错误
- Android Studio 链接器命令在包含 Boost 库时失败
- 使用 CMake 在跨平台项目中C++包含 Boost 库
- 包含字符串的结构的 Boost 进程间向量是否需要特殊的分配器?
- 检查两个 Boost.MPL 序列是否按任何顺序包含相同的类型
- 无法在Windows中找到来自cmake的MySQL和Boost包含/库
- 我如何知道 boost::any 是否包含文字字符串
- ctime 包含 boost::文件系统时出错
- 如何返回包含 PyObject* 的 boost::p ython::元组?
- Boost 能做什么现代C++的标准库做不到的?在程序中将 boost 作为依赖项包含有什么需要?
- 如何修复"无法打开包含文件'boost/config.hpp':没有这样的文件或目录(包括目录涵盖:C:\程序文件\boost\boost_1_67_0)
- 提升序列化:SIGABRT 同时反序列化包含 std::shared_ptr 的对象上的 boost::shared_p
- Eclipse-cdt boost shared_ptr.hpp:目录中没有此类文件,但它的一部分是包含文件
- CMake 没有将 boost 目录包含在它生成的项目中
- 为什么boost包含两个不同版本的strong_typedef.hpp ?