2010-04-01 119 views
3

有没有人知道德尔福的构建系统的任何好的描述? (我知道它使用MS生成。)我使用德尔福2009年。德尔福2009年MS生成头痛

我想建立一个变体的调试生成配置(通常)有不同的定义(d2009似乎称他们为“预处理器符号”) 。

我遇到的问题是 - 即使我关闭“继承”“基地”和“调试” - 只有非常有限的控制。例如,我无法摆脱FastMM_。

<PropertyGroup> 
     <ProjectGuid>{D7FE7347-8E2C-438C-A275-38B8DA9244B0}</ProjectGuid> 
     <ProjectVersion>12.0</ProjectVersion> 
     <MainSource>oca.dpr</MainSource> 
     <Config Condition="'$(Config)'==''">Debug</Config> 
     <DCC_DCCCompiler>DCC32</DCC_DCCCompiler> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''"> 
     <Base>true</Base> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Config)'=='Release' or '$(Cfg_1)'!=''"> 
     <Cfg_1>true</Cfg_1> 
     <CfgParent>Base</CfgParent> 
     <Base>true</Base> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_2)'!=''"> 
     <Cfg_2>true</Cfg_2> 
     <CfgParent>Base</CfgParent> 
     <Base>true</Base> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Base)'!=''"> 
     <DCC_StringChecks>off</DCC_StringChecks> 
     <DCC_MinimumEnumSize>4</DCC_MinimumEnumSize> 
     <DCC_RangeChecking>true</DCC_RangeChecking> 
     <DCC_IntegerOverflowCheck>true</DCC_IntegerOverflowCheck> 
     <DCC_UNIT_PLATFORM>false</DCC_UNIT_PLATFORM> 
     <DCC_SYMBOL_PLATFORM>false</DCC_SYMBOL_PLATFORM> 
     <DCC_DcuOutput>.\dcu</DCC_DcuOutput> 
     <DCC_UnitSearchPath>C:\Prj\Lib\AutoQADocking\Delphi2009.Win32\Lib;$(BDS)\Source\DUnit\src;$(DCC_UnitSearchPath)</DCC_UnitSearchPath> 
     <DCC_Optimize>false</DCC_Optimize> 
     <DCC_DependencyCheckOutputName>oca.exe</DCC_DependencyCheckOutputName> 
     <DCC_ImageBase>00400000</DCC_ImageBase> 
     <DCC_UnitAlias>WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;$(DCC_UnitAlias)</DCC_UnitAlias> 
     <DCC_Platform>x86</DCC_Platform> 
     <DCC_E>false</DCC_E> 
     <DCC_N>false</DCC_N> 
     <DCC_S>false</DCC_S> 
     <DCC_F>false</DCC_F> 
     <DCC_K>false</DCC_K> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Cfg_1)'!=''"> 
     <DCC_PentiumSafeDivide>true</DCC_PentiumSafeDivide> 
     <DCC_Optimize>true</DCC_Optimize> 
     <DCC_IntegerOverflowCheck>false</DCC_IntegerOverflowCheck> 
     <BRCC_Defines>MadExcept;FastMM;$(BRCC_Defines)</BRCC_Defines> 
     <DCC_AssertionsAtRuntime>false</DCC_AssertionsAtRuntime> 
     <DCC_LocalDebugSymbols>false</DCC_LocalDebugSymbols> 
     <DCC_Define>RELEASE;$(DCC_Define)</DCC_Define> 
     <DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo> 
     <DCC_DebugInformation>false</DCC_DebugInformation> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Cfg_2)'!=''"> 
     <DCC_DebugInfoInExe>true</DCC_DebugInfoInExe> 
     <BRCC_Defines>FastMM</BRCC_Defines> 
     <DCC_DebugDCUs>true</DCC_DebugDCUs> 
     <DCC_MapFile>3</DCC_MapFile> 
     <DCC_Define>DEBUG;FastMM_;madExcept;$(DCC_Define)</DCC_Define> 
    </PropertyGroup> 

我甚至不得不今天用记事本编辑它以摆脱delphi UI似乎无法访问的DCC定义。 (它说“从德尔福编译器”为我无法删除的项目。)

有没有人知道在delphi中使用此功能的良好入门?

谢谢!

+1

我不清楚你的问题是什么。你在问如何设置一个新的构建配置,或者你是否要求提供有关Delphi构建文件的文档? (如果你的答案都是*,那么请发布两个单独的问题,编辑这个问题只需要问一个问题,然后用另一个问题发一个新帖子。) – 2010-04-02 03:06:44

+0

我和Rob在一起 - 你究竟是什么试图做什么?你不应该看.target文件 - IDE应该让你做任何你需要做的配置。 – 2010-04-02 15:55:08

+0

我正在尝试做很简单的事情。所有我想要的是: “调试”应该有MadExcept,FastMM “DebugForAQ”应该都没有 增加的东西很容易,但让事情从“父母”走开似乎是不可能的。我原以为我可以简单地关闭“继承”,但这一直没有帮助(它只是在焦点移动到下一个单元格时将值返回)。非常刺激! “最好的”一个是我无法摆脱“Base”的那个,因为它来自编译器。似乎很久以前它在项目迁移期间被拖入。至今忽略了ms建立。 谢谢! – 2010-04-02 23:40:21

回答

1

你看过德尔福自己的documentation吗? (不是这是一个帮助文件链接,而不是一个网址。)它有一些相当不错的话题讨论。

您也可以查看MSBuild上的MSDN部分。链接是MSBuild参考主题的开始。

在Delphi中使用MSBuild与在任何其他环境中使用MSBuild完全相同。毕竟,它是一个微软工具(与.NET框架SDK,IIRC分发)。

+0

我似乎在使用delphi UI控制ms构建时遇到了困难。它似乎很简单,直到我真正尝试使用它。没有找到有用的文档来概述它。当然,这是在我忙得无法适当关注的时候出现的。感谢您的帮助! – 2010-04-02 23:43:29