CLion配置QT开发环境
一、将qmake工程转为cmake工程(方法一:用工具转换并做适当修改)
1、工具链接:链接:https://pan.baidu.com/s/1grW2QY3sW8X2JaHWM_ePPw
提取码:7at4
工具源码:https://github.com/milahu/qmake2cmake
2、执行命令将pro转为 CMakeLists.txt(注意转换结果要根据实际情况调整,并非一劳永逸,并且这个工具操作时pro文件中不能出现汉字)
最终生成:
二、将qmake工程转为cmake工程(方法二:递归文件)
方式一和方式二CMakeList.txt文件
链接:https://pan.baidu.com/s/1j6EOthh2CMAcFiaeTEo0aQ
提取码:ykzw
打印配置里面内容语法:
FOREACH (file ${SRCS})MESSAGE(${file})
ENDFOREACH (file)
三、配置解释:
1、add_definitions(-DUNICODE -D_UNICODE):不加这句会报错,这是编码问题,报这个错误
error C2664: “LPSTR lstrcpynA(LPSTR,LPCSTR,int)”: 无法将参数 1 从“wchar_t [260]”转换为“LPSTR”
2、设置目标文件存储路径
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/bin/Debug)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/bin/Release)
3、set(CMAKE_AUTOUIC_SEARCH_PATHS “src/03_appforms”)
不加这句会报如下错误:
编译运行,发现直接报错,提示AUTOUIC错误
4、这三句开启CLION自动编译
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
5、区分一下调试版和发布版
6、递归遍历文件
7、这里面可以放很多文件偶,.h .cpp .ui .qrc. rc 等等
8、SET可以把好多文件定义在一起偶,然后起个名
9、通过它可以查找库偶
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets AxContainer Concurrent Multimedia MultimediaWidgets Network OpenGL PrintSupport Svg TextToSpeech WebEngineWidgets Xml)
10、添加include
11、添加lib
12、注意以上指令注意放置顺序偶,不可乱来偶
二、CLion配置
1、将CmakeList.txt拖进去偶。
2、我的选择偶
3、我的选择偶
4、配置外部工具
添加后的效果
5、将windeployqt添加到配置,目的运行后CLION将dll自动拷贝到应用程序目录
6、添加designer目的是可以通过右键–》外部工具直接打开ui文件。
三、CLION配置调试QT源码
1、增加符号
2、cmakeList.txt增加QT 源文件
3、注意一定加上WIN32否则跳不进源代码
四、CLION断点后为啥不显示变量?
一个重要的文件 qt5.natvis .这个文件可以定义一个类的对象在调试窗口时显示。你可以在GitHub上下载到它,将他放于
C:\Users\Administrator\Documents\Visual Studio 2017\Visualizers
五、如何在CLION中使用QTCreator快捷键?
六、文件变动需要重新cmake
七、有时候出问题,清理一下重新生成。
八、如何去掉参数提示?
九、如何去掉检验检查?
十、如何关闭ClangTidy 和 Clazy?
十一、CLION点击关闭按钮不能退出进程?
他们给出的解决方法是按着shift+ctrl + A ,然后输入Registry 找到’run.processes.with.pty’并把它关掉,也可以这样 (Help -> Find Action -> Registry…)。
十二、控制台不输出QDebug?
十三、为何代码提示慢?
十四、完整配置截图:
十五、引用相关链接:
https://www.cnblogs.com/hanlulu1998/p/17989683
https://blog.csdn.net/weixin_44697721/article/details/130389879
https://blog.csdn.net/weixin_44370506/article/details/122040348
https://blog.csdn.net/zanget/article/details/121444957