关于使用vs在c++是搭载python遇到的坑(把爬虫挂在c++上面)
2020-07-15 04:36
447 查看
最近在用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的宏会产生冲突,解决方法,加入下面一段就可以了
[code]#pragma push_macro("slots") #undef slots #include<Python.h> #pragma pop_macro("slots")
宏定义冲突报错为 C2143 语法错误: 缺少“;”(在“*”的前面)
3、c++传参给python
这里面(ss)是指把a,b打包成一个元组,然后传过去
4、关于第三方库问题报错
在代码中加行python路径就行了
[code]Py_SetPythonHome(L"C:\\Users\\浩南\\AppData\\Local\\Programs\\Python\\Python37");
暂时先更新这些问题,遇到问题后再更新,需要代码的可以下方留言,我就更新到github,毕竟还有一些小细节没有处理好,想再完美点
附一张,搜索付费音乐的截图(界面和素材都是借鉴的别人的)
相关文章推荐
- 关于VS 使用GDB工具调试ADT下JNI时遇到的一些问题的解决
- 使用python做微博爬虫遇到的问题(1)
- Liunx 上面使用Python连接Redis遇到的一些问题
- python爬虫使用Selenium库的过程中遇到的问题
- Windows 系统 使用 VS2019 编写 python 的 C++ 拓展
- 一个简单的关于python爬虫获取数据并使用Numpy分析的案例
- VS2012 使用MySql的API函数连接数据库(成功), 以及使用mysql-connector-c++-1.1.3遇到的问题!
- 虚拟机搭载UBUNTU编译MicroPython,在STM32上面使用
- python爬虫实战(关于工作中遇到的问题)
- 关于python使用pyinstaller打包成exe文件全过程及遇到的问题解决
- Python使用selenium库爬虫遇到:Message: 'chromedriver' executable needs to be in PATH
- 遇到问题--python--爬虫--urllib的使用协程没有并发的效果
- 关于使用Python3进行网络爬虫的字符问题
- Python爬虫关于urlretrieve()函数的使用笔记
- 【C++】1.1 VS中关于工程的使用
- VS平台简单的使用C++调用Python3.5的方法
- Python调用C++函数(SWIG,VS2013使用numpy.i完成Numpy与C++数组转换)
- 使用vs(visual studio code)写python代码遇到的import requests失败问题
- 使用setuptools和cython打包python程序的时候遇到:Microsoft visual c++ 14.0 is required问题解决办法
- 使用python+selenium爬虫时遇到的一些问题