.Про файл:
DEFINES += MY_HEADER=\"test.h\"
файл cpp:
#include MY_HEADER
В Qt-Creator компиляция завершилась с ошибкой:
ошибка C2006: «#include»: ожидается имя файла, найден «идентификатор»
Командная строка компилятора кажется правильной:
«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» -DQLD = 3 -LLLL-3 -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I «C: \ Qt \ 4.7.4 \ включить \ QtCore» -I «C: \ Qt \ 4.7.4 \ включают» -I «C: \ Qt \ 4.7.4 \ include \ ActiveQt «-I» debug «-I» .. \ testdefine «-I». » -I «c: \ Qt \ 4.7.4 \ mkspecs \ win32-msvc2010» -Fodebug \ @C: \ Users \ Ekimov-A \ AppData \ Local \ Temp \ nm9C17.tmp
Когда проект импортируется в Visual studio с помощью Qt-addin, этот код компилируется без проблем.
Кажется, это ошибка qmake (функция?). Возможные обходные пути:
DEFINES += 'MY_HEADER=\\\"test.h\\\"'
или же
DEFINES += MY_HEADER=\\\"test.h\\\"
Других решений пока нет …