問題タブ [cross-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.

0 投票する
3 に答える
3091 参照

scala - 複数の Scala バージョンを持つ SBT サブプロジェクトを作成するには?

Scala 2.10 を使用するプロジェクトと Scala 2.11 を使用するプロジェクトがあります。それらは、両方でコンパイルできる共通のプロジェクトに依存しています。

その後

baz両方のプロジェクトで使用できるようにするにはどうすればよいですか?

0 投票する
1 に答える
2689 参照

scala - crossScalaVersion が scalaVersion ではないのはなぜですか?

build.sbt

project/build.properties

それで

のようcrossScalaVersionsですList(2.11.4)

SBT のソース コードを見てください。私もそう思います。

crossScalaVersionsに対応しないのはなぜscalaVersionですか?

0 投票する
2 に答える
1494 参照

scala - 集約と依存関係を含む SBT Scala クロス バージョン

crossScalaVersionsサブプロジェクトでの動作に苦労しています。

2.10 (foo) でコンパイルするプロジェクトと 2.11 (bar) でコンパイルするプロジェクトがあります。クロス コンパイルされたプロジェクトを共有します (共通)。

プロジェクト foo および bar をコンパイルするにはどうすればよいですか?


build.sbt

project/build.properties

foo/src/main/scala/Foo.scala

bar/src/main/scala/Bar.scala

共通/src/main/scala/Common.scala


試行 1

試行 2

試行 3

試行 4

試行 5

ベースディレクトリは同じですが、scala バージョンが異なるプロジェクトを定義common_2_10してみました。common_2_11ターゲットが Scala バージョンによって名前空間化されていることを読んだことを思い出しましたが、SBT は競合があると言っています。


私が仕事を得た唯一のことは、手動でバージョンを指定することです:

しかし、これは多くのコマンドであり、並列処理を使用することはできず、(1) プロジェクトの集約と (2) クロス ビルドの全体的な使用を不要にします。

の意図について基本的な何かが欠けていcrossScalaVersionsますか? それとも、SBT の残りの部分とうまく連携させ、異種プロジェクトをコンパイルする方法はありますか?

0 投票する
1 に答える
245 参照

apache - アームのapache2クロスビルドに失敗しました

Apache2 2.4.12 のクロスビルドでは、コンパイル中に次のエラーが発生します。

ファイル make_exports.awk からコンパイル時に httpd-2.4.12/server/exports.c を生成する汚いハックがあるようです

この make_exports.awk ファイルを調整して、arm のクロスビルドを機能させるにはどうすればよいですか?

0 投票する
1 に答える
301 参照

c++ - 複数のクロスビルドを同時に処理するメタビルド ツール

Linux、Windows、および Mac OS X (32 ビットと 64 ビットの両方) で実行される中規模の C++ プロジェクトがあります。一部のプラットフォームでは、複数のバリアントがあります (Linux の Gtk-2 および Gtk-3 バリアントなど)。主に趣味のプログラマであるため、各プラットフォーム専用のビルド マシン用のリソースはありません。そのため、すべてのビルドが Linux ボックスで行われるように、それぞれにクロスコンパイラをインストールしました。

1 つのコマンドで 10 種類ほどのバリアントすべてをビルドできるようにしたいと考えています。今のところ、makefile を作成する簡単で汚い Python スクリプトを使用してこれを実現しています (実際、最近 ninja に切り替えましたが、あまり関連性がないと思います)。バリアントごとに Windows インストーラー、Debian パッケージなどを作成します。しかし、プロジェクトが大きくなるにつれてスクリプトがうまくスケーリングされないため、よりクリーンなソリューションが必要です。

私の質問は次のとおりです。複数のツールキット (クロスコンパイラ) とカスタム コマンド (インストーラーなどを作成するため) を処理できる単一の Makefile (または忍者ビルド ファイルのような類似のもの) を作成できるメタビルド ツールは何ですか?

CMake (およびその他のいくつか) を試しましたが、複数のツールキットを操作する方法がわかりません。ほとんどのツールは、構成ごとに 1 つの Makefile を作成するようです。

編集:今、この答えはそれが不可能であると主張しています。理由がわかりません。15 分間の Python スクリプトでそれを実行できるのであれば、それを実行できるツールが必要だと思います。

0 投票する
0 に答える
736 参照

arm - Linux64 で Windows64 用の Qemu (ARM エミュレーション) をビルドする

QEmu で ARM VExpress のエミュレーションを実行しようとしています。私のエンドプラットフォームはWindows64です。私のビルドシステムは Linux64 を実行しています。QEmu バージョン 2.3.0 と x86_64-w64-mingw32 ツールチェーンを使用しています。

ビルド中にかなり多くの問題に直面しましたが、いくつかは自力で解決しました。そのうちの 1 つは、インストール時のツール チェーンに glib ライブラリが含まれておらず、インターネットで検索して入手したものをインポートする必要があったことです。そのため、いくつかの pkg-config ファイルを追加し、この一連の glib を lib フォルダーにコピーした後、すべてをコンパイルし始めました。

今、私は新しい問題に直面しています。ツールチェーンに librt がないときに、librt をチェックしています。librt のバージョンを取得し、それをツールチェーンの lib フォルダーに追加すると、コンパイルで以下のエラーがスローされます。どのステップでも助けていただければ幸いです。

編集 1: LIBS および LIBS_QGA の先頭にある config-host.mak ファイルに -lole32 を追加して、上記の問題を修正しました。

しかし、現在、以下の問題に直面しています

これから進んだ。

gettext パッケージから libintl をダウンロードしてコンパイルし、ツールチェーンに手動でインストールしました。libiconv と libffi についても同じことを行いました。

現在、次のエラーが表示されます。

これを解決するために glib ライブラリをコンパイルしようとしています。助けてくれてありがとう。

0 投票する
0 に答える
264 参照

macos - OCaml のデフォルトのインクルード ディレクトリとデフォルトの ocamlrun の場所

Mac (ホスト) でソースから OCaml をコンパイルしましたが、問題はありません。また、いくつかのターゲット (ホストとは異なる) に対して Mac で OCaml をクロスコンパイルしましたが、この場合、次の問題があります。

1)ホスト上ocamlrunocamlyacc同様に、(ターゲット上で)直接使用でき、「純粋な」バイナリであるため、問題なく使用できます。$INSTALL/binのように(はターゲット上の$INSTALLのインストール ディレクトリ)から他のバイナリを使用したい場合、 のパスが間違っているというエラーが表示されます。実際、16 進エディタでバイナリを開くと、ターゲット バージョンへのパスではなく、クロスビルドを実行したホスト (私の Mac)へのパスであるa で始まることがわかります。 ..もちろん、このパスをターゲット上のパスに置き換えれば、もう何もする必要はありません。すべて問題ありません。、およびからの他のすべてのバイナリについても同じocamlocamloptocamlrunocamlopt#!/not/target/but/host/path/to/ocamlrunocamlrunconfigureocamlrun ocamlopt$INSTALL/binocamlrunocamlyacc脇に置く。(上で書いたように、最後の2つは直接機能します。)ターゲット上の正しいパスがバイナリの先頭に直接表示されるようにconfigure(ホスト上で)ocamlクロスビルドする方法はありますか?ocamlrun$INSTALL/bin

2)フラグで$INSTALL/lib/ocamlディレクトリを指定しないとコードをコンパイルできません。-Iこの標準ライブラリのパスを強制する方法はありconfigureますか? または、それを処理する「内部」環境変数で、ライブラリをocaml確実に検索できるように編集できますか?(私は環境変数の解決策について非常に悲観的です。ホスト上では(で) 2つの環境変数しかなく、誰もこの種のものを扱っていないようです。そのため、なぜそれが異なる/より良いものになるのかわかりませんターゲットに...)ocaml$INSTALL/lib/ocamlprintenvocaml

0 投票する
1 に答える
1272 参照

libz - arm-linux-ar: 無効なオプション -- z

libzをクロスビルドしたいのですが、エラーが発生し、Googleで検索しても答えが見つかりません。助けてください。また、ウェブサイトを見つけましたが、これはよくわかりません。 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=444727

コード: