問題タブ [buildconfiguration]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Eclipse/CDT ビルド構成を効果的に管理するための適切なオプションは何ですか?
組み込み ARM/Linux プラットフォームでソフトウェアの再利用を活用することを目指しています。一部のハードウェア プラットフォームは、お客様の特定のニーズに合わせて設計されています。もちろん、アプリケーションもさまざまな方法でカスタマイズされます。
これは Android 製品ではありませんが、私たちの製品に比べて大きすぎます。これは、Linux ベースであるという点以外に、UI のルック アンド フィールが異なること、携帯電話が異なることとよく似ています。 、さまざまな CPU があり、さまざまな無線にはさまざまなファームウェアがあります。そのため、管理する構成が多数あります。また、構成は疎行列であり、すべての組み合わせが存在するわけではありません。
継続的インテグレーションも将来的に完全になくなるわけではありません。
したがって、近い将来のエンドポイントは次のようになります。
開発を続けてあらゆる場所に適用したいライブラリのコア セットです。クラスの継承により、カスタマイズが提供されます。そのため、アプリケーション タイプのビルド構成があります。
カスタマイズされた少数の ARM/Linux ハードウェア プラットフォーム。私たちのライブラリの BSP/ボード クラス HAL が進むべき道のようです。これは、適切なハードウェア/ボードを選択するためのビルド構成を意味します。
ハードウェア/ボードに一致する一握りのコプロセッサ ファームウェアですが、ライブラリへの API は同じです。そのため、ファームウェアに応じたビルド構成があります。
さまざまなルック アンド フィール/アプリケーション用の少数の実装。それは別のビルド構成です。
言うまでもなく、これらすべてを機能させるには、多くのインクルード パス、#define、およびファイルの除外があります。
ご覧のとおり、同じ環境でこれらすべてのバリアントを一度にビルドできるワークスペースに Eclipse/CDT プロジェクトのコレクションが必要な場合は、Eclipse/CDT で作成および管理する構成が多数あります。GUI が管理する唯一の方法である場合、マウスをクリックする操作が大量に発生します。その後、すべての構成が正しく設定されていることを確認するには、マウスを何度もクリックする必要があります。ダッシュボード ビューはありません。これらすべてを管理するためのテキスト エディター ベースのアプローチはありますか?
私は宿題をやろうとしました。[パスとシンボル] タブに [設定のインポート...] ボタンと [設定のエクスポート...] ボタンがあることを理解しています。ただし、一度に 1 つのプロジェクトに対して、一度に 1 つの構成を行います。あまり体系的ではないようで、何かを見逃すのは簡単です。
私も .cprojects を直接見ましたが、もし私がミスをした場合、Eclipse は黙って予期せぬことをしてしまい、修正するのに多大な労力を費やすのではないかと心配しています。
仲間の専門家はより良い提案を持っていますか?
c++ - ヘッダーが自己完結型かどうかを CMake に確認させるにはどうすればよいですか?
設定
CMake で正常にビルドおよび実行されるプロジェクトがあります。私のプロジェクト設定は次のようなものです:
私のヘッダーの内容は次のようなものです:
私は以下を使用しますCMakeLists.txt
mkdir build
コマンド、cd build
、 cmake ..
、make
、およびのシーケンスは、 ./main
「Hello World!」を正しく出力します。警告なし。
問題
上記の設定は正しいです。しかし、含まれていたので<iostream>
はなく、含まれてx.hpp
いたとしmain.cpp
ます。その後、プログラムは正しくビルドされx.hpp
ますが、スタンドアロン ヘッダーにはなりません。したがって、ヘッダーの自給自足をテストしたいと思います。つまり、ヘッダーごとに小さなテストプログラムをコンパイルしたいと思います
ただし、次のセクションをCMakeList.txt
マクロ${header_files}
はヘッダーに正しく展開されますx.hpp
が、check_include_files()
コマンドはヘッダーを正しくコンパイルしません
質問
どうやら、CMake が適切な場所で検索できるようにする構成変数がいくつかありません。正しいヘッダーであってもcheck_include_files()
機能しません。これを機能させるにはどうすればよいですか? 正しいヘッダーが正しいと見なされた場合にのみ、正しくないヘッダーをテストできます。
注絶対に必要な場合を除き、シェル スクリプトや、直接呼び出しを行う複雑な CMake for ループなどには興味がありませんTRY_COMPILE
。AFAICS、それがCheckIncludeFiles
モジュールの目的です。可能であれば、それを正しく構成する方法を知りたいです。
visual-studio - デフォルトのビルド構成を Visual Studio に追加する
私のチームと私は、多くのプロジェクトで VS2012 を使用しており、ローカル、開発ステージング、テスト、運用前、および運用の 5 つの環境を含む QA および UAT グループとのワークフローを開発しました。すべてのプロジェクトとソリューションに対して Local/Dev/Test/Preprod/Prod ビルド構成を作成し、デバッグ構成とリリース構成を削除する必要があることに気付きました。
デバッグ/リリース構成の代わりに、新しいプロジェクトでデフォルトで VS にこれらの環境を作成させる方法はありますか?
編集:ビルド構成はすべて個々のプロジェクトフォルダーにあるように見えるため、これに対するグローバルオプションを見つけることができませんでした。
私が行ったことは、最も一般的なプロジェクトのいくつかを見つけて、プロジェクト テンプレートを次のように変更することです。
- .csproj ファイルを変更し、PropertyGroups を次のものに置き換えます。 /li>
- 適切な Web.Config 変換ディレクティブを追加します。 /li>
- .vstemplate ファイルを変更し、Web.Debug および Web.Release 構成エントリを次のように置き換えました。 /li>
- Web.Debug.config を Web.Local.config、Web.Dev.config、Web.Test.config に、Web.Release.config を Web.Preprod.config と Web.Prod.config にコピーして名前を変更しました。
新しいプロジェクトを作成すると、目的の環境がすべてそこにあり、デバッグはなくなりました! ただし、削除した web.Release.Config ファイルを含め、Release はまだ残っています。この無関係な構成ファイル/ビルド構成がどこから来ているのでしょうか?
xcode - xcodebuild (バージョン 4.6.3) -configuration 引数は、buildConfiguration 属性をオーバーライドしません。.xcscheme
これは Xcode の以前のバージョンの場合であった可能性がありますが、私にはわかりません。コマンドラインを使用したアーカイブ (jenkins を介したスクリプトのように) では、xcodebuild 引数オプションを使用して構成をオーバーライドできないことに気付きました。
例:
ワークスペース ファイル「testscheme.xcworkspace」を使用して「TestScheme」のアーカイブを作成したいと考えています。
ここに私の TestScheme.xcscheme の関連部分があります
アーカイブを構築するためにコマンドラインで実行するものは次のとおりです。
生成されるのは、「アドホック」構成で構築されたアーカイブです。xcscheme ファイル、xcworkspace dir などに注ぎ込みましたが、「-configuration」コマンド ライン引数がまったく効果がない理由がわかりません。
tfs - TFS '$(BuildLocation)' マクロがラボ環境テンプレートの間違ったパスを指している
これに関する情報を見つけるのに非常に苦労しています。メイン プロジェクトの 1 つのBuild-Deploy-Testビルド定義を作成しましたが、ワークフローが実行されると、"$(BuildLocation)" マクロに間違った値が報告され、デプロイ フェーズ以降のすべてが中断されます (テストもこの間違ったパスで実行しようとします)。
問題の原因はわかっていますが、それを修正する方法がわかりません。ラボ 1 をリダイレクトするビルド定義は、ソリューションの「リリース」構成をビルドするように構成されています。ドロップフォルダーは「\outputServer\drops」です。BuildLocation マクロが を返すことを期待していまし"\\outputServer\drops\<BuildName>\<BuildNameFormat>"
たが、代わりにマクロが返されてい"\\outputServer\drops\<BuildName>\<BuildNameFormat>\Release"
ます。
私は当初、これはテンプレート (私が使用しようとしているもの) とカスタム テンプレートのベースLabDefaultTemplate.11.xaml
となった古い の間の非互換性であると考えていました。DefaultTemplate.xaml
カスタム テンプレートを更新して、新しいデフォルト ( DefaultTemplate.11.1.xaml
) をベースとして使用しようとしましたが、テンプレートを変換した後も問題が解決しません。
のコードを見た後でも、DefaultTemplate.11.1
構成名で出力をフィルター処理していることはまだわかりません。そこでの唯一の処理は、ソリューションまたはプロジェクト名に基づいており、デフォルトでは無効になっています (ビルド定義構成の [詳細] カテゴリの [ソリューション固有のビルド出力] オプションによって制御されます)。
ドロップされた出力がこのフォルダーにまったく配置されていないのに、ドロップフォルダーが「リリース」で終わると想定しているのはなぜですか? このように、パスに「..」を追加することで、展開スクリプトを正常に実行することができました$(BuildLocation)\..\myScript
が、ワークフローが自動テストを実行しようとすると、この同じマクロを使用しているように見え、明らかにテスト dll が見つかりません。 .
定義オプションの 'Items to Build' 要素でビルド構成を指定しないこと (したがって、デフォルトのものを選択させること) によってこれを回避することは可能ですが、構成を指定することは私たちの意識的な決定でした。プロジェクトがリリース モードでビルドされると、ファイルと一部の構成が異なる方法で変換されます。
私は現在、VS2012 Update 3/TFS 2012 Update 2 を使用しています。
アップデート:
テンプレート自体の中でこれを行っている場所を見つけました。ここでは、ラボのワークフローが非常にシンプルであるという事実が役立ちました。
「if ステートメント」内に、Compute build location needed
この奇妙な連結を行っているように見える代入があります。コードは次のとおりです。
これが何を意味するのかさえわかりません。ビルド テンプレート自体 (ラボのものではない) はこの連結を行わないため、この動作はバグのようです。LabTemplate はどのようにこの種のことを想定できますか?
c# - #if デバッグ --> #if myOwnConfig?
Visual Studio で "#if DEBUG" のようなカスタム構成を使用する方法はありますか
Build-Config の名前が「Offline」であるため、「#if OFFLINE」が必要です (さらにデバッグ目的でのみ)...
ありがとう!