编译VS2005+QT工程师出现这个错误,网上查找的解决方法皆不管用。
自己摸索时发现:
出问题的.h文件右击【属性】-【配置属性】-【自定义生成步骤】-【常规】-【命令行】中命令如下:(为了容易查看我加了换行)
命令1
"$(QTDIR)\bin\moc.exe"
-D -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB
-I".\."
-I".\GeneratedFiles\."
-I".\GeneratedFiles\$(ConfigurationName)\."
-I"$(QTDIR)\include\."
-I"$(QTDIR)\include\QtCore\."
-I"$(QTDIR)\include\QtGui\."
-I"C:\Program Files (x86)\gdal-1.9.2\gcore\."
-I"C:\Program Files (x86)\gdal-1.9.2\port\."
".\testfastdisplay.h"
-o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp;.\GeneratedFiles\$(ConfigurationName)\moc_testfastdisplay.cpp"
而我找了一个编译成功的工程中的.h文件的命令行代码如下:
命令2
"$(QTDIR)\bin\moc.exe"
"$(InputPath)"
-o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp"
-DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB
"-IC:\Program Files (x86)\gdal-1.9.2\port"
"-I.\GeneratedFiles"
"-I."
"-I$(QTDIR)\include"
"-I.\GeneratedFiles\$(ConfigurationName)\."
"-I$(QTDIR)\include\QtCore"
"-I$(QTDIR)\include\QtGui"
"-IC:\Program Files (x86)\gdal-1.9.2\gcore"
我不懂这些命令,但我把命令1用命令2替换后,编译成功。
留待以后研究。
后续添加
对命令1修改如下(红色删除,绿色添加):
"$(QTDIR)\bin\moc.exe" -D -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB -I".\." -I".\GeneratedFiles\." -I".\GeneratedFiles\$(ConfigurationName)\." -I"$(QTDIR)\include\." -I"$(QTDIR)\include\QtCore\." -I"$(QTDIR)\include\QtGui\." -I"C:\Program Files (x86)\gdal-1.9.2\gcore\." -I"C:\Program Files (x86)\gdal-1.9.2\port\." ".\testfastdisplay.h" "$(InputPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_$(InputName).cpp;.\GeneratedFiles\$(ConfigurationName)\moc_testfastdisplay.cpp"
修改后编译测试成功。