为了账号安全,请及时绑定邮箱和手机立即绑定

更改通过pybind11_add_module创建的库的输出目录

更改通过pybind11_add_module创建的库的输出目录

MYYA 2022-08-02 17:10:09
我正在使用CMake为使用Pybind11的代码构建一些python绑定。它运行良好,但它们在主目录中编译。我希望它们建立在目录上。我正在尝试以下操作:buildbuild\pythonpybind11_add_module(myModule src/main.cpp)set_target_properties(myModule PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/python")但它没有按预期工作,仍然建立在目录上,就好像没有被调用一样。myModulebuildset_target_properties在官方文档中是这样写的:pybind11_add_module此函数的行为非常类似于 CMake 的内置add_library(实际上,它是围绕该命令的包装器函数)。它将添加一个从列出的源文件构建的库目标。此外,它还将负责所有特定于Python的编译器和链接器标志以及特定于操作系统和Python版本的文件扩展名。可以使用常规 CMake 命令进一步操作生成的目标。所以我假设可以用来表示它之后的不同输出目录,不是这样吗?如果没有,如何做到这一点?set_target_properties提前感谢您!
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

pybind11模块是共享或模块类型的库。

共享库的构建目录是通过除 Windows(及其)之外的所有平台上指定的。LIBRARY_OUTPUT_DIRECTORYdll

MODULE库的构建目录是通过在所有平台上指定的,无一例外。LIBRARY_OUTPUT_DIRECTORY

有关 CMake 中输出工件的类型和相应变量的详细说明,请参阅文档OUTPUT



查看完整回答
反对 回复 2022-08-02
  • 1 回答
  • 0 关注
  • 458 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信