我在C ++ Builder 2010中有一个项目组。它包含几个项目。除了 Debug 和 Releae 之外,其中一个项目还有一个 Demo 构建配置,它是子的< em>发布一个。
我遇到的问题是,如果我从构建脚本运行它,调用项目组文件并告诉它我想使用演示配置构建我得到一个关于<的错误em>未解决的WinMain 。我使用不存在的构建配置名称得到相同的错误。所以我最初的想法是,这必须是因为项目组中的其他项目没有 Demo 配置。但是,当我尝试从cmd对项目组文件运行msbuild时,传递它 Demo 它构建得很好。
C:\src\foo\AutoBuild> msbuild ..\foo.groupproj /t:build /p:Configuration=Demo
使用cmd中的msbuild构建特定项目也是如此。我已经检查过 Config / * Configuration *属性是通过每个<msbuild />
任务调用继续执行的。它是。
在运行发布时,黑客攻击项目组( .groupproj )文件并强制它为相关项目运行 Demo 。
...
<Target Name="Foo:Make">
<MSBuild Targets="Make" Projects="Foo.cbproj" Properties="Config=Demo"/>
</Target>
...
知道可能导致这种情况的原因吗?
更新
此外,通过在选择 Demo 时仅运行主构建脚本中的特定项目,它也可以正常工作。请注意, Release 构建版本之前已由构建脚本构建。
<Target Name="Foo:Build">
...
<MSBuild Condition="$(Configuration)==''" Targets="Make" Projects="..\Server\Bar.groupproj" Properties="Config=Release" />
<MSBuild Condition="$(Configuration)==''" Targets="Foo" Projects="..\Server\Bar.groupproj" Properties="Config=Demo" />
...
</Target>