gpt4 book ai didi

c++ - Boost单元测试框架找不到主要功能

转载 作者:搜寻专家 更新时间:2023-10-31 01:35:50 28 4
gpt4 key购买 nike

我有这个最小的单元测试:

#include <boost/test/unit_test.hpp>
#define BOOST_TEST_MODULE a_test

struct Color{};

BOOST_AUTO_TEST_CASE(color_test)
{
BOOST_CHECK(std::is_pod<Color>());
}

但是当我这样编译的时候

clang -std=c++14 -lc++ -lboost_unit_test_framework a_test.cc -o main

我得到 _main 的 undefined symbol 。 -lboost_unit_test_framework 使用共享库。

我以前使用过这个库,我记得自己不必声明主函数,因为它会自动运行我定义的几个 BOOST_AUTO_TEST_CASE

我做错了什么?

最佳答案

当动态链接 Boost.Test 时,您需要定义 BOOST_TEST_DYN_LINK ( see boost docs here )。

您可能还必须链接 boost_test_exec_monitor

此外,所有配置宏都需要在包含库头之前定义才能生效。

关于c++ - Boost单元测试框架找不到主要功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36670832/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com