Windows下QT中用C++调用Python之二 - 编译BUG处理

429 阅读1分钟

如需转载请标明出处

QQ技术交流群:129518033

本文记录了QT中集成Python遇到的BUG

1. 问题:LINK : fatal error LNK1104: 无法打开文件python35_d.lib

处理:

打开Python的头文件pyconfig.h

找到如下图内容

\

pragma comment(lib,"python35_d.lib")

修改为

pragma comment(lib,"python35.lib")

因为安装版的Python只有python35.lib

2. 问题:

PyType_Slot *slots;\

object.h(445) : error C2059: 语法错误:“;”\

object.h(445) : error C2238: 意外的标记位于“;”之前\

\

处理:

由于slots是QT的关键字,所以才出现该问题。

PyType_Slot *slots;

修改为

PyType_Slot *_slots;

也就是改一个名字就可以了

不过该方法可能导致引用这个struct的时候出错,不过目前还没有使用到该struct

还有一种办法就是先上面语句前先接触关键字,定义后再次声明