c++ cmake qt

该技术栈的部署过程分三步:

构建---编译---运行

构建:

bash 复制代码
cmake -S . -B build -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="D:\Qt5_15\5.15.2\msvc2019_64\lib\cmake"

编译:

bash 复制代码
cmake --build build --config Debug
bash 复制代码
cmake --build build --config Release

运行:

bash 复制代码
.\build\Debug\QtSnake.exe

或者在文件夹中找的exe文件进行运行。

其中遇到的问题:

bash 复制代码
Automatic MOC for target QtSnake
  
  AutoMoc error
  -------------
  "SRC:/model.cpp"
  contains a "Q_OBJECT" macro, but does not include "model.moc"!
  Consider to
    - add #include "model.moc"
    - enable SKIP_AUTOMOC for this file

D:\Microsoft Viusal 2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: 命令"setl
ocal [D:\code\QT\Qt_demo\build\QtSnake.vcxproj]
D:\Microsoft Viusal 2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: cd D:\c 
ode\QT\Qt_demo\build [D:\code\QT\Qt_demo\build\QtSnake.vcxproj]
D:\Microsoft Viusal 2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: if %err 
orlevel% neq 0 goto :cmEnd [D:\code\QT\Qt_demo\build\QtSnake.vcxproj]
D:\Microsoft Viusal 2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: D: [D:\ 
code\QT\Qt_demo\build\QtSnake.vcxproj]
D:\Microsoft Viusal 2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: if %err 
orlevel% neq 0 goto :cmEnd [D:\code\QT\Qt_demo\build\QtSnake.vcxproj]
D:\Microsoft Viusal 2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: D:\CMak 
e\bin\cmake.exe -E cmake_autogen D:/code/QT/Qt_demo/build/CMakeFiles/QtSnake_autogen.dir/AutogenInfo.json Rel 
ease [D:\code\QT\Qt_demo\build\QtSnake.vcxproj]
D:\Microsoft Viusal 2019\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(145,5): error MSB3073: if %err
orlevel% neq 0 goto :cmEnd [D:\code\QT\Qt_demo\build\QtSnake.vcxproj]
D:\Microsoft Viusal 2019\MSBuild\Microsoft\

我在CMakeLists.txt 中配置了set(CMAKE_AUTOMOC ON) ,按道理mod工具会自动去链接mod文件,但是却没有构建成功。

解决:原因是我将.cpp .h .main写在了一起,当我分开之后就没有这个问题

相关推荐
前行中的小猪4 分钟前
Qt 5 踩坑实录:多显示器跨屏拖拽导致窗口异常放大与 setGeometry 报错的深度解析与根治
qt·多显示器·高分辨率·多屏幕
code2cat27 分钟前
Java高级篇之Socket:从建立连接到完整收发一条消息
java·开发语言
凯瑟琳.奥古斯特35 分钟前
OCR文字检测算法对比解析
开发语言·python·职场和发展
Misnice41 分钟前
Python 内置函数大全
开发语言·windows·python
美狐美颜SDK开放平台42 分钟前
直播APP集成美颜SDK,如何梳理第三方组件的数据权限?
开发语言·人工智能·深度学习·音视频·第三方美颜sdk
怪我冷i1 小时前
Rust 核心语法与内存安全机制
开发语言·安全·rust
开开心心_Every1 小时前
免费压缩软件WinRAR无弹窗、广告干扰
java·开发语言·前端·spring·智能手机·word·winrar
syagain_zsx1 小时前
WebSocket 教程:websocketpp 写 echo 服务端
linux·网络·c++·websocket·网络协议·工具库
江沉晚呤时2 小时前
零依赖的代价与自由:我用 C# 自研了一套 Office 读写库
开发语言·c#
大陈子编程2 小时前
C++ CSP-J 与 CSP-S 题单:洛谷 140 题知识点全覆盖
c++