unbutnクロスコンパイル実行環境(実行環境?実行環境あり!)qemu直接シミュレーション実行プログラム

1789 ワード

私はubuntu linuxの下で、android携帯電話に置く準備をするプログラムを書いた.
一般的には、linuxの下でクロスコンパイル環境を出すことができればいいのですが、ubuntuを使っていて、私が大運にぶつかったことに加えて、不思議なapt-getがクロスシミュレーションの実行環境をインストールしました.振り返ると奥妙に気づき、記念文を送らざるを得なかった.qemu、あなたは強すぎて、特にqemu-user-staitc!
まず、クロスコンパイル環境のインストールについて簡単に説明します.
このステップのコンパイル作業を行うには、まずapt-getでクロスコンパイルツールgcc-4.4-linux-gnueabiなどをインストールします.
sudo apt-get install gcc-4.4-linux-gnueabi

apt-cache search arm-linuxで、インストールしたいツールを確認できます.これで装いました!
ソースコードをコンパイルするときは、sudo./configure--host=arm-linux-gnueabiクロスコンパイル環境の指定
configure標準の化でクロスコンパイル環境を指定できる場合、これらの環境で使用されるlib includeなどは/usrがディレクトリの下のarm-linux-gnueabiディレクトリの下に組み込まれ、/usr/localはローカルを指し、クロスコンパイラは/usr/bin内でarm-linux-gnueabi-gccなどと呼ばれ、規則的です!バージョン番号があってバージョン番号がない場合は、lnリンクしてください.configureがないか、規範化されていない場合は手動で修正するしかなく、ライブラリが欠けている問題も面倒です.本当にだめexport CC=arm-linux-gnueabi-gccやってみよう!
第2歩、デバッグを実行すると、コンピュータでは実行できないので、androidマシンやシミュレータの中に入れなければならないことがわかります.面倒です.どうしてこんなことになったの?クロスコンパイルされたものなので、コマンドセットはX 86向けではありません.
コンパイルデバッグをパソコンに置く方法はありますか?インターネットで検索するとqemuというシミュレータが強すぎることがわかります!しかし、インターネットで検索すると、arm仮想マシンを出すには多くの環境をコンパイルする必要があり、不快であることがわかります.仮想マシンが必要ですか?答えは違う!
apt-cache search qemu見て
qemu-user
qemu-user-static
この2つのバッグは何に使いますか.
入れたらman qemu-user-static説明を見て
NAME        qemu-user-static - QEMU User Emulator (static version) SYNOPSIS        qemu-user-static [options] program [program-arguments...] DESCRIPTION        The  qemu-user-static emulator can run binaries for other architectures        but with the same operating system as the current one. 同じオペレーティングシステムの下で異なる命令セットをシミュレートして実行するプログラムをサポートします!
だからarm仮想マシンをインストールする必要がありますか?いいえ、結構です.自分のマシンは今armプログラムを直接実行することができて、wineがwin 32プログラムを引き継いだように、qemuは他のCPUアーキテクチャプログラムを引き継いでシームレスに実行することができます(もちろん特殊なライブラリが必要です).