我尝试在使用 octave-C++-API 的地方对我的 C++ 代码进行单元测试。如果我在 boost 单元测试中使用 octave 中的任何内容,我会收到错误消息:
Segmentation fault (core dumped)
编译工作得很好,如果同时使用八度和升压,它工作得很好。有谁知道我做错了什么?
这是我的最小示例:
#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE boostOctaveTest
#include <boost/test/unit_test.hpp>
#include <octave/oct.h>
BOOST_AUTO_TEST_SUITE(TestOctave)
BOOST_AUTO_TEST_CASE(octave)
{
octave_value var = 42;
BOOST_CHECK(var.int_value() == 42ul);
}
BOOST_AUTO_TEST_SUITE_END()
编译命令为:
mkoctfile --link-stand-alone -D_GLIBCXX_ASSERTIONS main.cpp -o main -I/home/jlammering/tools/Boost/boost_1_72_0 -L"/home/jlammering/tools/Boost/boost_1_72_0/stage/lib" -l"boost_unit_test_framework"
我的软件:
- 操作系统:CentOS 8
- 提升:版本 1_72
- 八度:版本 5.2