首页| 论坛| 消息

标题:QProcess怎么调用路径含空格的环境变量中的外部程序
作者:qqlinx
日期:2018-04-19 22:52
内容:

开发环境VS2013+MinGW
安装MinGW到C:\Program Files\MinGW下,然后把bin加入到环境变量。
用QProcess start调用gcc, 启动失败。
如果把MinGW安装到C:\MinGW下,就可以正常启动。
现在问题应该就是QProcess先在环境变量找到gcc路径,然后启动gcc,
但是路径含有空格,导致start fail。
请问这种情况怎么解决?


#1 [qqlinx 04-19 23:08]
我只是用MinGW举例,实际情况MinGW安装时不含空格。但是有些程序,客户可能会安装到C:\Programe Files或D:\Program Files, 都有空格。
#2 [fox123 04-20 08:33]
将被调用软件的全路径作为第一个参数传给QProcess就可以了
#3 [cahwxy 04-20 09:11]
Qt对中文路径以及空格处理都有问题,最好的办法是避开这个
Qt以及C++入门和进阶经验、技术分享在线交流会。
https://www.zhihu.com/lives/967361544187772928
欢迎加入讨论!
#4 回 cahwxy 的帖子 [dbzhang800 04-20 14:55]
cahwxy:Qt对中文路径以及空格处理都有问题,最好的办法是避开这个
Qt以及C++入门和进阶经验、技术分享在线交流会。
https://www.zhihu.com/lives/967361544187772928
欢迎加入讨论! (2018-04-20 09:11) 
Qt对中文处理没有任何问题,
顶多是C++标准unicode支持比较晚,VS系列C++编译器在VS2015Update2 之前,对Utf-8支持不太友好,仅此而已
#5 回 fox123 的帖子 [qqlinx 04-21 21:59]
fox123:将被调用软件的全路径作为第一个参数传给QProcess就可以了 (2018-04-20 08:33) 
这个方法我试过,是可以。不过不知道安装路径,代码没法把全路径写死。
在环境变量里单独配个安装路径变量可以解决,但是还是希望让客户不做这一步。
有没有好的建议?

<< 1 2 >> (1/2)

回复 发表
主题 版块