通过 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
命令。
我的测试项目看看:
.
├── 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
命令。