1

我尝试在使用 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
4

0 回答 0