- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 boost 单元测试文档中,它明确指出您需要定义 BOOST_TEST_DYN_LINK为了与 boost 单元测试库链接。
我正在使用这个基本示例:
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE test_module1
// This header is for the dynamic library, not the header only one
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE(test1) {
BOOST_CHECK(true);
}
我已将 boost 添加到我的包含/库路径并且代码编译正常,但是当我使用 Visual Studio 编译 boost 单元测试并尝试运行它们时,我收到以下错误:
The application was unable to start correctly (0xc000003b).
我觉得我只需要指出这条错误消息是多么的模糊和毫无帮助...
出于某种原因,如果我删除 #define BOOST_TEST_DYN_LINK
行,代码将编译并成功运行,但这直接违背了 boost 文档的内容。
为什么会这样?
附加信息:
这是我正在使用的:
boost v1_63_0
最佳答案
我运行你的代码没有任何问题。所以我怀疑你的情况存在构建问题。
我的 boost 是这样构建的(进入 Boost 源目录后):
bootstrap.bat
.\b2.exe toolset=msvc -j 2 --with-test release link=shared stage
然后您需要将 stage\lib 下的 DLL 复制到路径中的某个位置,并将适当的 Boost 目录添加到您的环境中。对于我的命令行环境,我有(假设您已完成类似 set BOOST_ROOT=C:\src\boost_1_65_1
的操作):
set INCLUDE=%BOOST_ROOT%;%INCLUDE%
set LIB=%BOOST_ROOT%\stage\lib;%LIB%
然后我可以毫无问题地成功构建您的测试代码:
cl /EHsc /MD test.cpp
.\test.exe
关于c++ - 定义 BOOST_TEST_DYN_LINK 会导致应用程序在 Visual Studio 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45880224/
在 boost 单元测试文档中,它明确指出您需要定义 BOOST_TEST_DYN_LINK为了与 boost 单元测试库链接。 我正在使用这个基本示例: #define BOOST_TEST_DYN
我是一名优秀的程序员,十分优秀!