私の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