1.查找到qt的软件包 find_package(Qt5Widgets) find_package(Qt5Core) find_package(Qt5Gui) 2.生成moc文件,使用信号槽的话必须要用这个 #生成moc文件 qt_wrap_cpp(MOC_SOURCES ${HEADERS}) 3.QString与std::string的转换,出现报错找不到内存,尝试改变编码方式 std::string p = rp.toUtf8(); 4.std:...
并且CLion提供了对C/C强大的开发环境。此外,也想将CMake搭建QT项目作为一次实践,故由此文。
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${QT_LIBRARIES}) endif(Qt5_FOUND) 1. 2. 3. 4. 5. 6. 7. 8. 9. 开启MOC支持 set(CMAKE_AUTOMOC ON) 开启RCC支持 set(CMAKE_AUTORCC ON) 开启UIC支持 set(CMAKE_AUTOUIC ON) 设置Qt安装目录: set(CMAKE_PREFIX_PATH "Qt to path ") //bin lib i...
src是源代码 thidpart是第三方库,现在里面只有Qt相关的库,plugins/platforms也需要包含进来,到时候复制到可执行文件目录下,否则运行qt窗体程序的时候会报错。 在搭建的过程中遇到一个问题:执行完CMAKE之后没有生成MOC文件,最终是因为我把CMakeList的set(CMAKE_AUTOMOC ON) 写成 set(CMAKE_ATUOMOC ON)导致。。。...
考虑一个常规Qt程序: main.cpp mainwindows.ui mainwindows.h mainwindows.cpp 如果手动编译的话: mainwindow.ui 需要使用 uic 预处理 uic mainwindow.ui -o ui_mainwindow.h mainwindow.h 需要 moc 预处理 moc mainwindow.h -o moc_mainwindow.cpp ...
新的办法是 target 的 properties 设置 AUTOMOC TRUE[1],然后 #include "filename.moc"需要手动写 #...
_properties(${target_name} PROPERTIES ${properties_name} ${properties_value}),CMake给Qt提供了AUTOMOC这个属性,可以自动的给给定target的项目的所有需要moc的文件自动moc,所以这个时候我们只需要加一把set_target_properties(myexe PROPERTIES AUTOMOC ON),这个时候,CMake就会去学qmake的那套逻辑来进行自动moc和...
qmake和cmake很相似,都是用于生成 Makefile的构建工具,不过,qmake 是 Qt 框架中的一个构建工具,...
#设置CMake最低版本 cmake_minimum_required(VERSION 3.12.0) #设置工程名 project(MyQtDemoProject) # 打开全局uic set(CMAKE_AUTOUIC ON) # 打开全局moc set(CMAKE_AUTOMOC ON) # 打开全局rcc set(CMAKE_AUTORCC ON) #为Qt5_DIR变量赋值,设置为Qt5Config.cmake所在的路径,CMake将通过该文件查找Qt包 ...
#设置cmake版本号 cmake_minimum_required(VERSION 3.4.0) #设置工程名称 project(HelloWorld) #设置工程包含当前目录,非必须 set(CMAKE_INCLUDE_CURRENT_DIR ON) #设置自动生成moc文件,一定要设置 set(CMAKE_AUTOMOC ON) #查找需要的Qt库文件,最好每一个库都要写,Qt也会根据依赖关系自动添加 find_package(Qt...