通过 pybind11 使用 google/draco 作为 lib 构建

build with google/draco as lib by pybind11

我的测试项目看看:

.
├── 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

这个错误可能意味着我没有link draco 库到test 目标

为什么会出现这个问题?

您需要 CMakeLists.txt 中的 target_link_libraries 命令。