Ubuntu 18.04にクロスコンパイラをインストールするにはどうすればいいですか?

私のproc情報:

 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 158 Model name: Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz Stepping: 9 CPU MHz: 1036.788 CPU max MHz: 3500,0000 CPU min MHz: 800,0000 BogoMIPS: 6000.00 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 6144K NUMA node0 CPU(s): 0-3 

試しました:

sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi 

次の場合:

arm-linux-gcc arm-linux-gcc: command not found 

クロスコンパイラのインストール方法

コメント

回答

TLDR

arm-linux-gccではありません。


ファイル名が間違っているようです。参考までにapt-fileは便利なツールです。

sudo apt-get install apt-file sudo apt-file update apt-file search -x "gcc$" | grep "gcc-arm-linux-gnueabi" 

これは、gcc<で終わるファイルを検索します。名前にgcc-arm-linux-gnueabiが含まれるパッケージの/ div>結果は次のようになります。

gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc 

インストールされたgcc-arm-linux-gnueabiファイル/usr/bin/arm-linux-gnueabi-gccが必要です。

コメント

  • arm-linux-gnueabiを検索することを知っているということは、答えをすでに知っているということです;-)。 apt-file search -x 'arm-linux.*gcc$'の方が見つけやすくなります。
  • 本当です。 "の下のOP 'の質問にありました… "ですが、あなたが言うように、'わからない場合は、正規表現についての十分な知識も役立ちます。
  • 私のポイントは、OPがどのコマンドを知らなかったということです。実行するため、(パッケージ名ではなく)パッケージの内容で何を検索すればよいかわかりませんでした。
  • 自分で見つける前に、これについての予備知識はありませんでした。私の回答での検索は、彼らがすでにインストールしたパッケージと、コマンド名の最後にあるgccで構成されています。これは、彼らがすでに試みていたものの一般化です(arm-linux-gcc)-最初に試したのはそれでした。
  • apt-file searchを使用してパッケージ名を探すのは意外だと思います。 (「これは、すべてのパッケージでarm-linux-gnueabiを含むファイルまたはパッケージを検索します」)apt-file searchがパッケージの内容のみを検索する場合(また、/usr/share/doc/<package>/copyrightのおかげで、偶然にもパッケージ名が見つかります。

回答

steeldriver が示唆しているように、クロスコンパイラはすでにインストールされています。問題は、間違ったコマンドを使用して呼び出すことです。通常、arm-linux-gnueabi-プレフィックスを使用する必要があります。したがって、

arm-linux-gnueabi-gcc 

または

arm-linux-gnueabi-g++ 

を実行すると正常に動作するはずです。

これを自分で理解するには、dpkg -Lを使用して、インストールしたパッケージの内容を一覧表示できます。

dpkg -L gcc-arm-linux-gnueabi 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です