我的测试项目外观:

.
├── CMakeLists.txt
├── draco
├── pybind11
├── setup.py
└── src
    |-main.cpp


我正在用pybind11为draco编写python包装器
因为我是C ++的新手,所以我不知道如何将draco构建为共享库
有我简单的CMake.txt

cmake_minimum_required(VERSION 3.10.0)
project(test)

add_subdirectory(draco)
add_subdirectory(pybind11)
pybind11_add_module(test src/main.cpp )



main.cpp中,我只是新建了一个draco::Mesh指针

我建立我的测试项目。将其导入Python中会得到错误

test.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN5draco4MeshC1Ev


该错误可能意味着我没有将draco lib链接到test目标

为什么会发生问题?

最佳答案

您需要在CMakeLists.txt中使用target_link_libraries命令。

关于python - pybind11用google/draco作为lib构建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58156808/

10-11 16:31