cmake采坑

import error,导入debug版的pyd失败

今天在使用swig封装了底层的C++库,结果封装好之后release可以,但是在debug模式下一直import失败,提示找不到Module,我明明有了pyd为什么失败呢?

经过排查原来debug模式下的pyd必须加上_d

结果是在pyd这个文件名加上_d就解决了;比如_someLib.pyd应该为_someLib_d.pyd,这样Python就可以导入了。

修改Cmakelists.txt保证debug模式下加上_d

set(CMAKE_DEBUG_POSTFIX _d)
set_target_properties(${target_name} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})

又出现can not find target to add properties to;

原来要先add_library再set_target_properties

后续:

因为改变了目标名之后,所有的.py里面的类名也加上了_d,所以还是得用复制文件的命令(add_custom_command),把原来的pyd文件复制一份,起到改名的作用


在build目录下执行

cmake --build .

即可生成目标程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值