問題タブ [meson-build]
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.
yocto - yocto ウォリアー ブランチで core-image-selinux を生成中に "Meson failed" が発生する
core-image-selinux
yocto ウォリアー ブランチの生成中に、以下のエラーが発生します。
これは私がやったことです:
- Cloned
poky
、meta-openembedded
およびWarriormeta-selinux
ブランチ用 - ラン
source poky/oe-init-build-env
のレイヤーの下に追加
bblayers.conf
/home/panther2/warrior/meta-openembedded/meta-python \
/home/panther2/warrior/meta-openembedded/meta-oe \
/home/panther2/warrior/meta-selinux \
以下の行に追加
local.conf
DISTRO_FEATURES_append = "acl xattr pam selinux" Preferred_PROVIDER_virtual/refpolicy ?= "refpolicy-mls"
実行され
bitbake core-image-selinux
、上記のエラーが発生しました
お時間をいただきありがとうございます。
linker - カスタム依存関係を追加しようとすると、Meson & Ninja でリンカー エラーが発生する
Meson を使用してプロジェクトにソースベースのライブラリを追加しようとしています。しかし、それをしようとすると、オブジェクト ファイルのリンク エラーが発生します。
プロジェクトの実行可能ファイルにカスタム依存関係を追加しようとしましたが、もちろん、srclibdep
プロジェクトの実行可能ファイルの後に定義されているため、未定義(コード前)と表示されます。しかし、Project の実行可能ファイルの前に定義すると、リンクできません。
これは私の ./meson.build です
そして ./SourceLibraryName/meson.build
参照が存在しないという何百ものリンク エラーが発生してx::Y
いますが、コンパイラは依存関係が既に存在するかのようにコードをコンパイルしました。
generator - Meson の依存関係 catch22 とターゲット出力への遅延アクセス
既存の C++ アプリケーションを構築するための Meson を紹介したいと思います。私たちの構造は次のとおりです。
- Wie には 8 つのメイン モジュール (mod_X) があります。
- 各モジュールには 20 ~ 40 個のサブディレクトリがあり、それぞれに 5 ~ 100 個の cpp ファイルがあります。ライブラリと実行可能ファイルに分かれています。
mod_INFRA/apps/myparser
コード ジェネレーターの実行可能ファイルを作成するターゲットがある- のみに依存するもの
mod_INFRA/libs/A
- のみに依存するもの
- コード ジェネレーターは、mod_INFRA 自体を含む、すべてのモジュールおよびサブディレクトリ内の多数のサブディレクトリ内の特定のファイル (*.rules) に適用する必要があります。
- 生成されたソース コードをコンパイルし、ターゲットを考慮して
subdir_X
私が達成したいこと:
root/meson.build
共通で再利用可能なもの、または必要に応じてすべてのモジュールとサブディレクトリで呼び出し/適用できるものを定義しcustom_target
ますgenerator
。
問題:
- では
root/meson.build
、コンパイラ フラグなどの共通変数を定義し、subdir(‘mod_INFRA’)
モジュールごとに定義します。mod_INFRA/meson.build
私はサブsubdir(‘apps/xyz’), subdir(‘libs/abc’),
ディレクトリごとになどを行います。それは大丈夫です custom_target or generator
ただし、 inを定義するのに苦労していますroot/meson.build
。必要な実行可能ファイルは、以前はまだ利用できませんsubdir('mod_INFRA')
。そして、subdir(..)
手遅れになった後は、ジェネレーターが既に他のサブディレクトリにファイルをビルドする必要があるためですmod_INFRA
。
可能な解決策は、実行可能ファイルをターゲット名で遅延解決する「プロキシ」である可能性があります。たとえば、できる場合 (疑似コード): generator(getTargetOutput(‘myparser’), …)
. しかし、それが利用可能かどうかはわかりませんでした。
ディレクトリ構造を完全に再構築せずに、それを解決する方法について他に何か考えはありますか?