【发布时间】:2016-12-21 03:53:02
【问题描述】:
我正在尝试在 Windows 版本 1.62.0 上构建 Boost.test。我正在构建 --with-test 并且我的输出文件是 libboost_unit_test_framework-vc140-mt-gd-1_62.lib / dll
一切正常,但是当我在项目中添加 unit_test.hpp 标头时,链接器提示找不到 libboost_thread-vc140-mt-gd-1_62.lib。
我很惊讶,我的印象是,当我使用 b2 构建 --with-test 时,Boost.test 的所有依赖项都将被构建,我的意思是我看到它构建了 chrono、timer 和 system,它应该也建立线程吗?
我检查了两次和三次以查看我的项目是否没有引入 thread.hpp 标头 - 它没有。它设置为自动链接库。
我也跑过 BCP
bcp --boost=b:\temp\boost_1_62_0 --list test
在 boost/test 文件夹上,它似乎确实列出了线程文件:
提升\thread.hpp
....
库\线程\构建\has_atomic_flag_l
库\线程\构建\Jamfile.v2
库\线程\src\future.cpp
库\线程\src\pthread\once.cpp
libs\thread\src\pthread\once_atomic
库\线程\src\pthread\thread.cpp
库\线程\src\tss_null.cpp
库\线程\src\win32\thread.cpp
库\线程\src\win32\tss_dll.cpp
库\线程\src\win32\tss_pe.cpp
我有一种感觉,我不完全理解发生了什么。
Boost.unit 是否依赖于 Boost.thread?
如果是这样,为什么它不是由 b2 自动构建的。如果不是,这可能是依赖来自哪里......
谢谢,
安德烈
【问题讨论】:
标签: windows multithreading testing boost dependencies