关于使用vs在c++是搭载python遇到的坑(把爬虫挂在c++上面)

最近在用qt写一个音乐播放器,由于播放器需要获取网上音乐,所有我搭载了一个python的音乐爬虫,在c++上面跑python怎么配置环境网上一大堆博客讲了很清晰。下面我来说说我遇见的坑。

1、中文问题

在vs上面编码是unicode编码,而python上面的编码为utf-8,两种不同格式的编码,假如不解决编码问题,c++传中文给python会直接出现异常,python传中文给c++也会出现异常了。在c++中加入一行代码#pragma execution_character_set("utf-8")这个表示你的c++的编码格式为utf-8,现在两方能互传中文了。但是utf-8编码的中文在vs上面显示是乱码形式的,由于我是在qt上面搭载,qt用的也是utf-8编码,所有我无需改变编码了,qt上面不乱码就行。这里如果大家想要在vs上面也显示正常,给大家一个方向去Google一下utf-8编码转换为Unicode编码,代码很少的,就是字节的转换。

2、关于qt和python的宏冲突问题

当你在qt里面加入#include<Python.h>头文件,里面定义的宏跟qt的宏会产生冲突,解决方法,加入下面一段就可以了

#pragma push_macro("slots")
#undef slots
#include<Python.h>
#pragma pop_macro("slots")

宏定义冲突报错为   C2143    语法错误: 缺少“;”(在“*”的前面)  

3、c++传参给python

这里面(ss)是指把a,b打包成一个元组,然后传过去

4、关于第三方库问题报错

在代码中加行python路径就行了

Py_SetPythonHome(L"C:\\Users\\浩南\\AppData\\Local\\Programs\\Python\\Python37");

暂时先更新这些问题,遇到问题后再更新,需要代码的可以下方留言,我就更新到github,毕竟还有一些小细节没有处理好,想再完美点

附一张,搜索付费音乐的截图(界面和素材都是借鉴的别人的)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值