首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >统一开发环境,Qt工程转换成VS工程的便捷工具

统一开发环境,Qt工程转换成VS工程的便捷工具

作者头像
用户3519280
发布2023-07-06 14:15:56
发布2023-07-06 14:15:56
8950
举报
文章被收录于专栏:c++ 学习分享c++ 学习分享

统一开发环境,Qt工程转换成VS工程的便捷工具

QT工程转换成VS工程的脚本工具

问题描述:

  当多人用vs配合qt creator进行开发时,有时会遇到将pro文件转换成vcxproj文件后,转移到其他的PC上,用vs编译工程出现编译或链接错误。

解决方案:

  首先,统一开发环境,例如使用vs2010与Qt5.5.1。

  其次,配置QTDIR环境变量,该环境变量为qt creator的安装路径,如“C:\Qt\Qt5.5.1\5.5\msvc2010”(win10操作系统)。

  最后,使用qmake工具,将pro文件转换成vcxproj文件。将vcxproj文件中凡是引用qt creator安装路径的地方均用环境变量QTDIR进行替换。    

需将以下批处理命令复制保存为*.bat文件。在pro目录下双击运行,即实现上述所描述的功能。 

代码语言:javascript
复制
::该脚本的功能是将当前文件夹下及其子文件夹下的qt pro文件转换为vs vcxproj文件,
代码语言:javascript
复制
::并将所生成的vcxproj文件中qt的绝对路径替换成QTDIR环境变量
代码语言:javascript
复制
@echo off
if "%QTDIR%"=="" (
    @echo "QTDIR" environment variable is not configured
    pause
    exit
)
 
set bootDir=%cd%
set tagName=temp
set tagSubEx=bat
set file=%tagName%.%tagSubEx%
@echo %cd%
 
for /r %%i in (*.pro) DO (
    @echo %%i
    call :create %%i
)
 
pause
cd %bootDir%
set delFile=del.bat
rem set /a flag=0
echo @echo off>%delFile%
rem echo set flag=^0>>%delFile%
echo for /r %%%%j in (*%file%) DO (>>%delFile%
echo call :delete %%%%j>>%delFile%
echo )>>%delFile%
rem echo set /a flag+=^1>>%delFile%
 
echo :delete>>%delFile%
echo del %%1>>%delFile%
call %delFile%
 
cd %bootDir%
del %delFile%
exit
 
:wait
if %flag% equ 1 (
@echo flag=%flag%
pause
del %delFile%
exit
) else (
@echo this is working
pause
goto wait
)
 
:create
cd %~dp1
echo @echo off>%file%
echo set expQTDIR=%%QTDIR%%>>%file%
 
echo %%QTDIR%%\bin\qmake -tp vc>>%file%
 
echo set tagEx=vcxproj>>%file%
echo for /r %%%%j in (*.vcxproj) DO (>>%file%
echo call :replace %%%%j>>%file%
echo )>>%file%
 
echo :replace>>%file%
echo setlocal Enabledelayedexpansion>>%file%
echo ren %%1 a.%%tagEx%%>>%file%
echo for /f "tokens=*" %%%%s in (a.%%tagEx%%) do (>>%file%
echo set var=%%%%s>>%file%
echo set var=!var:%%expQTDIR%%=%%%%QTDIR%%%%!>>%file%
echo echo !var!^>^>b.%%tagEx%%>>%file%
echo )>>%file%
echo del %%~nx1>>%file%
echo ren b.%%tagEx%% %%~nx1>>%file%
echo del a.%%tagEx%%>>%file%
echo endlocal>>%file%
echo exit>>%file%
start %file%
 
:continue
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 统一开发环境,Qt工程转换成VS工程的便捷工具
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档