1

.pro ファイル:

DEFINES += MY_HEADER=\"test.h\"

cpp ファイル:

#include MY_HEADER

Qt-Creator でコンパイルがエラーで失敗しました:

エラー C2006: '#include': ファイル名が必要ですが、'identifier' が見つかりました

コンパイラのコマンドラインは正しいようです:

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe" -f Makefile.Debug cl -c -nologo -Zm200 -Zc:wchar_t- /E -Zi -MDd /E -GR -EHsc -W3 -w34100 -w34189 -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DMY_HEADER="test.h" -DLLL=3 -DQT_DLL -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_STHSE2" -DQT_HAVE_STHSE2" -DQT_HAVE_STHSE2" 4.7.4\include\QtCore" -I"c:\Qt\4.7.4\include" -I"c:\Qt\4.7.4\include\ActiveQt" -I"debug" -I"..\testdefine " -私"。" -I"c:\Qt\4.7.4\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\Ekimov-A\AppData\Local\Temp\nm9C17.tmp

プロジェクトが Qt-addin を使用して Visual Studio にインポートされると、このコードは問題なくコンパイルされました。

4

1 に答える 1

2

qmakeのバグ(機能?)のようです。考えられる回避策:

DEFINES += 'MY_HEADER=\\\"test.h\\\"'

また

DEFINES += MY_HEADER=\\\"test.h\\\"
于 2012-11-08T11:06:35.370 に答える