我正在尝试使用#ifdef
标记在Visual C++ .rc文件中的几个不同的默认图标之间切换。我可以通过命令行将预处理器定义传递给资源编译器吗?
使用MSBuild通过命令行创建切换#define值的构建。
我遇到的困难是使用Visual Studio 2010为了将预处理器定义传递给资源编译器,必须在项目设置(配置属性 - >资源 - >常规)中定义它。
这使得难以使用#ifdef
标签,因为使用这种方法它总是会在资源编译器中定义。
我很想将其定义为一个值,以便我可以使用预处理器#if SOMEVALUE == 4
可能会工作,但似乎无法找到一种方法将预处理器定义+值通过命令行传递给MSBuild。
有没有人知道一种方法来将预处理器定义直接传递给资源编译器或通过命令行为msbuild定义预处理器定义值的方法?
不幸的是要传递的#define值项目编译器不会传递给资源编译器。即,编译项目时,“/ T”TESTAPPLE = 15“将TESTAPPLE设置为值15.但是,在资源编译器中,TESTAPPLE刚刚定义,但不具有值15. – Maixy
huh,guess I haven没有足够的资源编译器。 http://www.cmake.org/pipermail/cmake/2011-January/042093.html暗示它可以运行'/ d“CMAKE_INTDIR = \”Release \“”',但不是授权源。 –