发布网友
共2个回答
热心网友
Qt在编译时,需要首先使用uic.exe编译UI文件,通过moc.exe处理Q_OBJECT之类的宏,当然你可以去掉这些定义,否则就需要加上: #COMPILEUIs SET(UIS mnwindow ) FOREACH(ui_file${UIS}) SET(TMP_IN"${PROJECT_SOURCE_DIR}/res/${ui_file}.ui") SET(TMP_OUT"${PROJECT_BINARY_DIR}/ui_${ui_file}.h") EXECUTE_PROCESS(COMMAND${QT_FOLDER}/bin/uic.exe-o${TMP_OUT}${TMP_IN}) MESSAGE(STATUS"EXEC=${QT_FOLDER}/bin/uic.exe-o${PROJECT_BINARY_DIR}/ui_${ui_file}.h${PROJECT_SOURCE_DIR}/res/${ui_file}.ui") ENDFOREACH(ui_file) #CREATEMOC SET(HEADERS mainwindow ) FOREACH(header_file${HEADERS}) SET(TMP_IN"${PROJECT_SOURCE_DIR}/inc/${header_file}.h") SET(TMP_OUT"${PROJECT_BINARY_DIR}/moc_${header_file}.cpp") EXECUTE_PROCESS(COMMAND${QT_FOLDER}/bin/moc.exe-o${TMP_OUT}${TMP_IN}) SET(MOCS${MOCS}${PROJECT_BINARY_DIR}/moc_${header_file}.cpp) MESSAGE(STATUS"EXEC=${QT_FOLDER}/bin/moc.exe-o${PROJECT_BINARY_DIR}/moc_${header_file}.cpp${PROJECT_SOURCE_DIR}/inc/${header_file}.h") ENDFOREACH(header_file) freec#.netqrcreator 这里要注意的是:EXECUTE_PROCESS在COMMAND后面不能加引号,命令直接写,否则执行的程序也不会出错,但也不会正常运行.
热心网友
cmd窗口,进入cmakelist.txt路径,qmake -project ,就会生成pro文件,当然,有的时候要微调一下,比如加上qt += widgets 等等.