2015-02-10 66 views
8

我寫了一些我想在GitHub上分享的Delphi代碼。所有代碼都包含在運行時和設計時包中。爲每個項目設置了許多「項目選項」。 (輸出目錄,搜索路徑,編譯選項等)我已經設法找到一些默認選項,可以很好地適用於我的情況,但讀取其他Q &由於這裏顯然有多個waysofworking什麼項目選項用於開源Delphi程序包?

應該使用哪些項目選項來允許開源軟件包輕鬆地合併到單個項目中?

Delphi Project Options

我最近開始使用的NodeJS。 NPM軟件包管理器使得在項目中使用第三方軟件包變得非常容易。在命令行上使用一個簡單的命令安裝軟件包。包將自動安裝任何所需的依賴關係。 PS:如果你想添加額外的東西來考慮,隨意編輯這個問題。

+1

回到頂端所有搜索路徑應該是相對的。然後,您應該創建一個演示項目的版本,您可以在runtie中添加組件。就我個人而言,我更新的安裝組件在我的德爾福之前,我確信我需要它們,並且我從不安裝不可見的組件 – 2015-02-10 07:47:15

+0

編譯器選項:範圍和溢出檢查始終。讓計算機爲你工作捕捉錯誤。 – 2015-02-10 09:39:56

+0

問題的範圍是什麼?你想知道所有選項?編譯器選項?或者只是路徑相關的選項? – 2015-02-10 13:59:24

回答

7

比方說,你有這樣的結構

  • MyComponent的
      • DelphiXE7
        • Package2.dpr
      • 德爾福XE7

然後設置

  • 搜索路徑

    .. \ .. \ .. \源

  • 單位輸出目錄

    .. \ .. \ ..\ BIN \德爾福XE7 \ $(平臺)\ $(配置)

編譯爲畢竟支持的平臺兩者發佈調試你將不得不在斌這種結構目錄

  • MyComponent的
      • DelphiXE7
        • Package2.dpr
      • 的Delphi XE7
        • 的Android
          • RELEASE
          • 調試
        • 的Win32
          • 推出
          • 調試
        • Win64的
          • 推出
          • 調試

對於安裝你必須設置IDE裏面的一些路徑。

  • 環境

    myComponent的=> [根路徑將文件]

  • 重複,對於所有支持的平臺

    • 庫路徑

      $(MyComponent的)\ BIN \德爾福XE7 \ $(平臺)\發佈

    • 搜索路徑

      $( MYCOMPONENT)\來源

    • 調試,DCU-路徑

      $(MyComponent的)\ BIN \德爾福XE7 \ $(平臺)\調試

如果有一些語言相關單位還有一個地方可以添加(見圖書館 - 翻譯

這確保您擁有完整的調試功能(使用使用Debug-DCU選項集),並且在發佈時,您的應用程序中沒有調試代碼。


只是一個庫的旁註,你不應該想安裝,因爲你只在一些項目中使用它們。

只需將Optionset與環境變量結合使用即可。

這裏我SuperObject.optionset$(USRLIB)指向一個目錄,在這裏我收集所有常用的源代碼。而$(USRLIB)\ext是所有外部庫的地方)。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
     <DCC_UnitSearchPath>$(USRLIB)\ext\superobject;$(DCC_UnitSearchPath)</DCC_UnitSearchPath> 
    </PropertyGroup> 
    <ProjectExtensions> 
     <Borland.Personality>Delphi.Personality.12</Borland.Personality> 
     <Borland.ProjectType>OptionSet</Borland.ProjectType> 
     <BorlandProject> 
      <Delphi.Personality/> 
     </BorlandProject> 
     <ProjectFileVersion>12</ProjectFileVersion> 
    </ProjectExtensions> 
</Project> 

要使用超對象庫我只是optionset添加到項目中(上構建配置單擊鼠標右鍵),一切都很好。

+0

感謝Rufo爵士的詳細解答。 – Shannon 2015-02-12 03:08:39