問題タブ [build-system]
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.
builder - SCons Ada Builder を VariantDir で動作させようとしています
Variantdir で Ada ビルダーを期待どおりに動作させるためのロジックの最後の部分に苦労しています。この問題は、ツールが柔軟性に欠け、現在のディレクトリ以外のディレクトリにバインダー ファイルを配置できないgnatbind
ことが原因で発生します。gnatlink
これにより、2つのオプションが残ります。
- gnatbind にバインダー ファイルを topdir に書き込み、gnatlink にそこから選択させます。ただし、必要な異なるアーキテクチャとコンパイラ バージョンのシミュレート ビルドを許可する場合、競合状態が発生する可能性があります。
gnatbind と gnatlink の呼び出しを変更して、ビルド ディレクトリに一時的に移動します
build/$ARCH/src-path
。これはAda ビルダー内の fromgnatbind
を使用して明示的に呼び出されるため、ステップを正常に修正しました。env.Execute
リンク手順を修正するために、次を使用してプログラム環境を変更しましたenv["LINKCOM"] = SCons.Action.Action(ada_linkcom)
は次のようにada_linkcom
定義されます
whereret
は、シェルで何をすべきかを説明する文字列です。これは、パスをトップレベルからの相対パスからベース名のみを含むパスに変換するための少し複雑なロジックを含む関数である必要があります。
scons-2.3.1/SCons/Executor.py
ただし、これはfunction の 347 行目のエラーで失敗しますdo_execute
。env["LINKCOM"]
ada_linkcom のシグネチャーを持つ関数にすることはできませんか?
build - CMAKE_BUILD_TYPE は CMakeLists.txt で使用されていません
デフォルトのビルド構成を Release に設定するのに問題があります。私の CMakeLists.txt ファイルでは、ファイルの先頭に CMAKE_BUILD_TYPE を次のように設定します。
しかし、プロジェクトをビルドしてソリューションを開くと、CMakeLists ファイルで指定した内容とは異なり、常にデバッグ モードが表示されます。私は何を間違っていますか?
そこで他の質問をいくつか見ましたが、この質問に固有のものは何も見当たりませんでした。
CMakeLists.txtの要点。
cmake - エクスポート ビルド ツリー内でエクスポートされた CMake ターゲットを要求する
スタンドアロンの CMake ビルドとしても使用できるFoobar
サブディレクトリを含むCMake プロジェクトがあります。examples
そのために、このサブディレクトリはfind_package(Foobar)
エクスポートされたターゲットを実行して使用します。、、および をFoobar
提供し、FindModule なしで使用できます。FoobarConfig.cmake
FoobarConfigVersion.cmake
FoobarExports.cmake
コードは大まかに次のようになります。
問題は、生成時間の最後にexport(EXPORT FoobarExports)
のみFoobarExports.cmake
ファイルを作成して、完全なFoobarExports
エクスポート セットがあることを確認することです。
したがって、これは失敗します:
ただし、機能するのは次のとおりです。
ファイルがまだ作成されていない場合、FoobarExports.cmake
呼び出し時にファイルを強制的に書き込むか、 CMake を 2 回実行させるにはどうすればよいですか?export
caching - Builder によって再利用されない SCons キャッシュ
問題のある Program Builder のバリアントを作成しました。必要なときにキャッシュからターゲットを選択しません。
フラグを追加しようとしましたが--warn=target-not-built
、--debug=explain
何が問題なのかを説明できませんでした。
Builder がキャッシュを再利用しない理由を見つけるのに役立つフラグや手法はありますか?
makefile - Windows にオープン ソース ライブラリをインストールして使用する方法を教えてください。
Windows でオープン ソース ライブラリを使用したいと考えています。(例:Aquila、http ://aquila-dsp.org/articles/iteration-over-wave-file-data-revisited/をフォロー)しかし、「ビルドシステム」については何も理解できません... Linuxでは「tarを解凍して、configureして、makeして、ファイルを作る」ですが、Windowsでも使いたいです。いくつか質問があります。
i) ソースコードだけを「インストール」しなければならないのはなぜですか? これらのヘッダー ファイルを作業ディレクトリにコピーして #include ".\aquila\global.h" をスローしても使用できないのはなぜですか??
ii) 構成とメイク/メイク インストールとは何ですか? 私はそれらを理解できません。Windowsの構成オープンソースには「CMake」が必要であり、それは構成ツールであることを知っています...しかし、実際には何をしますか??
iii)私はやったが:cmake、mingw32-make、mingw32-make install ...私のコンパイラは「...への未定義の参照」と言った。これは何を意味し、どうすればよいですか?
makefile - 変数が設定されている場合、ターゲットを強制的に再構築するにはどうすればよいですか?
ビルド ターゲット foo があるとします。
今、ARGS
私がコマンドラインで渡すものです:
foo
そのため、ターゲットは変更されたファイルだけでなく、 の値にも依存するため、make の巧妙さを回避する必要がありますARGS
。
これを行うための何かがありますか?私のハック(回答を参照)は最もエレガントではないようですが、機能します。もっと良いものはありますか?
makefile - Xcode 8.2.1 での Xcode プロジェクト テンプレートの作成
Xcode 8.2.1 でプロジェクト テンプレートを作成するにはどうすればよいですか? Bjarne Stroustrup's Programming : Principles and Practices Using C++、第 2 版。Stroustrup 氏は読者にいくつかのヘッダー ファイルを提供しており、私はそれらを本の基本的な Web サイトのGitHub リポジトリにコピーしました。それらを Xcode のビルド システムにリンクする方法を見つけたいと思います。OS X の Darwin ベースで使用するため
のメイクファイルを誰かが作成しました
、しかし、C++ を学習している間に Xcode を使用してその方法を学び、後のプロジェクトで Xcode を使用する方法を理解できるようにしたいと考えています。このメイクファイルを使用すべきかどうかはわかりませんが、Apple は「Building Makefile Projects with Xcode」に関する指示を提供しているので、それらを使用する必要がありますか? また、以前のバージョンの Xcode 用のプロジェクト テンプレートの作成方法について、他の人が同様に質問していることにも気付きました。こちら、こちら、こちら、およびこちら。これらのスタック オーバーフローの投稿からの資料のいずれかは、研究のためのソース資料を提供することによって、私の見込みのある回答者または回答者に役立ちますか?