尝试桥接 usr/local/include 中的 yices 库时 Pybind11 出现分段错误

Segmentation fault in Pybind11 when trying to bridge yices library in usr/local/include

我正在尝试使用 pybind11 将我的 C++ 代码与 python 桥接起来。我有 example.cpp 文件,它包含 yices.h。 yices.h 在 usr/local/includes 文件夹中。

#include <pybind11/pybind11.h>
#include "yices.h"   

int add(int i, int j) {
    yices_init();
    return i + j;
}

namespace py = pybind11;

PYBIND11_MODULE(example, m) {
    // optional module docstring
    m.doc() = "pybind11 example plugin";

    // define add function
    m.def("add", &add, "A function which adds two numbers");
 }

当我尝试 test.py 时出现分段错误。如何 link yices.h 使用 pybind11?

from example import add

这是 cmake 文件

cmake_minimum_required(VERSION 2.8.12)
project(example)

find_package(PythonLibs)
include_directories(${PYTHON_INCLUDE_DIRS})

add_subdirectory(pybind11)
pybind11_add_module(example example.cpp)

您忘记使用 gmpyices 来 link:

target_link_libraries(example PUBLIC yices gmp)