我經歷過不少在回答這一問題上堆棧溢出的文章「我如何通過預處理器定義編譯器從MSBuild的命令行」他們都報以的一些變化:數十人MSBuild.exe不接受任何/ P:DefineConstants也不/ P:PreprocessorDefinitions
MSBuild.exe "/p:DefineConstants=THING_TO_BE_DEFINED"
MSBuild.exe /p:DefineConstants="THING_TO_BE_DEFINED"
MSBuild.exe "/p:DefineConstants=THING_TO_BE_DEFINED=1"
MSBuild.exe /p:DefineConstants="THING_TO_BE_DEFINED=1"
...和:
MSBuild.exe /p:DefineConstants=THING_TO_BE_DEFINED
我都想盡變化,我可以拿出。我也以類似的方式調用重寫PreprocessorDefinitions。他們都引發下面的#ERROR:
#include "stdafx.h"
#if !defined(THING_TO_BE_DEFINED)
#error "THING_TO_BE_DEFINED is not defined"
#endif
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
我一直在與上述簡單的命令行應用程序嘗試這個,還有一個巨大的遊戲項目,我這裏有。我只能猜測,Visual Studio(我在2005年和2008年看到這個)有一些默認設置,它阻止了我的命令行參數被應用,但是我沒有發現證據支持這個假設。
關於如何讓這個工作的任何想法?爲什麼以FSM的名義,他們沒有堅持良好的醇'-D THING_TO_BE_DEFINED?
我堅持開發人員給我的.vcproj。衛生署。 – Sniggerfardimungus 2010-02-05 18:26:01