Qt 编译错误(用vs2015编译)

xiaoxiao2021-02-28  80

基本表现:

1>InitializeBuildStatus: 1>  正在对“release\filter_meshing.unsuccessfulbuild”执行 Touch 任务。 1>CustomBuild: 1>  MOC meshfilter.h 1>  系统找不到指定的路径。 1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: “cmd.exe”已退出,代码为 3。 1> 1>生成失败

原因:使用了Q_OBJECT宏,但是MOC.exe的path没有设置正确,导致的问题。

解决方案:

1、选择菜单栏【工具】【选项】【项目和解决方案】【生成并运行】,选择【msbuild项目生成项目详细信息】选项,下拉列表中选择详细,即可查看编译的详细过程, 目测楼主是因为MOC.exe不在系统path路径中或者meshfilter.h不在包含路径中。

2、具体编译:

1)右键单击.h文件选择properties,Custom Build Step->General,在command line里输入用moc.exe编译.h文件并生成.cpp的命令

比如,假设moc.exe所在路径为C:\Qt\bin,并且在.h目录下建立了一个moc文件夹用于存放生成的.cpp文件,则需要在commond line里输入

C:\Qt\bin\moc.exe "$(InputPath)" -o "$(InputDir)\moc\moc_$(InputName).cpp"

2)在outputs里输入$(InputDir)\moc\moc_$(InputName).cpp

3)编译.h文件

4)将moc文件夹里的.cpp文件加入source files

5)编译工程

转载请注明原文地址: https://www.6miu.com/read-41698.html

最新回复(0)