1

Visual Studio 2008のコンパイルプロセスで使用されるライブラリのパスを外部化する方法はありますか?* .propertiesファイルのように?

私の目標は、Java用のAntビルドシステムで使用される* .propertiesファイルのように、ヘッダーファイルとライブラリへの場所を参照する「変数」を定義することです。

4

5 に答える 5

3

私はあなたがファイルを探していると思い.vspropsます。これらは*.propertiesファイルに相当します。

于 2010-01-25T15:23:15.557 に答える
2

環境変数?

適切な層で許可されているすべての$(xyz)置換はであり、「自分で持参」することが許可されています。

これらは通常、親プロセスから継承されるため、設定できます

  • システム設定のマシン/ユーザーの場合(通常はエクスプローラーを介して継承されます)
  • devenv.exeを実行する前にそれらを設定するバッチファイルで
  • SolutionBuildEnvironmentのようなアドインで、プロジェクトファイルからそれらを読み取ります
于 2010-01-25T15:36:57.580 に答える
1

#includesの場所に影響を与えることについて言及している場合は、プロジェクトのプロパティ|構成のプロパティ| C / C++/追加のインクルードディレクトリがチケットです。プロジェクトプロパティ|共通プロパティ|追加の参照検索パスもあります。

Antの場合と同じように、VCProjファイルの内容をどのようにパラメーター化するかという質問の場合、答えは、VS2010ではVCプロジェクトはMSBuildベースであるのに対し、VS2008vcprojファイルは独自のXMLベースの形式であるということです。他の回答によると、それらには類似のプロパティ機能があります]。

詳細情報がない場合、あなたがしていることの標準的なアプローチは、最初または2番目の段落に検索パスを追加することであると確信しています。

于 2010-01-25T14:36:49.037 に答える
1

Antがどのように機能するかはわかりませんが、静的ライブラリとヘッダーについては.vcprojファイルを編集できます。これらは実際にはXMLファイルです。ライブラリは、AdditionalDependenciesのVCLinkerToolツールタグに配置されます

<Tool
    Name="VCLinkerTool"
    AdditionalOptions=" /subsystem:windowsce,5.01"
    AdditionalDependencies="iphlpapi.lib commctrl.lib coredll.lib"
/>

追加のヘッダーパスは、AdditionalIncludeDirectoriesのVCCLCompilerToolツールタグで定義されます。

<Tool
    Name="VCCLCompilerTool"
    Optimization="0"
    AdditionalIncludeDirectories="dev\mydir"
    PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
/>

注意してください。ビルド構成ごとにそのようなセクションが1つあります。これはあなたが探しているものですか?

編集:.vspropsMSaltersによって提案されたものはより強力です。それらに追加の依存関係とライブラリを定義して、プロジェクトにこれらのプロパティを継承させることができます。さて、今日は何か役に立つことを学びました!

于 2010-01-25T14:54:33.557 に答える
0

CMakeのようなビルドシステムを使用できます。CMakeにプロジェクトの高レベルの説明を与えると、別のツール(Visual StudioのIDEやUnixスタイルのmakefileなど)を介してプロジェクトを正しくビルドするために必要なファイルが吐き出されます。

パス: CMakeList.txt構成ファイルのCMakeINCLUDE_DIRECTORIES()とコマンドを使用して、これらのパスを指定できます。LINK_DIRECTORIES()CMakeには、環境の両方の側面(多くは自動検出可能、たとえばCコンパイラーを実行するコマンド)を記述する変数と、ユーザーが直接指定できるようにするオプションがあります。CMAKE_C_COMPILERすべての変数は、個別のプレーンテキスト構成ファイルCMakeCache.txtに保存され、テキストエディターまたは特別なGUI構成ツールを使用して編集できます。

CMakeには、多くの有用なライブラリの場所を自動検出する機能や、CONFIGURE_FILE()コマンドを使用してCMakeディレクティブを含む「テンプレート」ファイルからカスタマイズされたソース/ヘッダーファイルを生成する機能など、他の多くの機能があります。

利点:

  • 一般的な環境間での移植性が高い(たとえば、MS Visual C ++のいくつかのバージョンのソリューションファイルや、Unix(Linuxなど)システムのmakefileを生成できます)。
  • いくつかの大規模なマルチプラットフォームプロジェクト(KDEなど)で使用されます
  • 簡単なプロジェクトを設定するのは非常に簡単
  • 依存関係チェックシステムは堅実であることがわかりました。たとえば、コンパイラオプションを変更した場合に再構築することを認識しています(makeたとえば、の単純な使用とは異なります)。

短所:

  • 醜い、原始的な構文
  • ドキュメントの品質はさまざまです(たとえば、特定のオブジェクトに影響を与えるプロパティを正確に判断するのが難しい場合があります)
  • ある程度の時間投資が必要
于 2010-01-25T15:48:31.190 に答える