WindowsからLinuxにクロスコンパイルするための使いやすいツールはありますか?
crosstool-ngは、cygwinホストを使用したクロスコンパイラーの構築をサポートしています 。
概要:
crosstool-ng
tar xvjf crosstool-ng*
)./configure
を実行しますflex
、libtool
、ncurses-devel
)少なくとも次のものが必要です:make
make install
/usr/src/cross-linux-gnu-root
mount c:/cygwin/usr/src/cross-linux-gnu-root /usr/src/cross-linux-gnu -o binary,posix=1
)ct-ng menuconfig
x86
(おそらく)に設定し、サブアーキテクチャをi686
に設定します( GCC 4.8の問題 を回避、osm0sisに感謝)、ターゲットカーネルをlinux
に設定します、およびCライブラリをglibc
にターゲットし、C++コンパイラを有効にします。Paths and misc options
でEXPERIMENTALを有効にしてから、Companion tools
(最上位)に移動し、Build some companion tools
を有効にしてからmake 3.81
(osm0sisに感謝)ct-ng build
もちろん、これによってVisual Studio内からLinuxアプリケーションをビルドできるようになるわけではありません。 (VS2010以降では、gccなどの他のツールチェーンを使用してビルドできますが、crosstool-ngでビルドされたクロスコンパイラーに加えて、適切なツールチェーンの説明が必要です)。ただし、g++-linux-gnu
が機能するので、直接実行するか、Makefileを使用して実行できます。
注:クロスコンパイラの構築には長い時間がかかります。 osm0sisは、クロスコンパイラーのビルドに関するメモ(この回答を更新するために使用)とともに、 ここではビルド済みのgcc 4.8.1です を提供しています。
あなたの最善の策は、クロスプラットフォームを使用することですIDE Code :: Blocks のようにMSVCプロジェクトをインポートし、Linux用のMakefileを生成します。 Linux(必要に応じて同じプログラムでも)。
したがって、ワークフローは次のようになります。
Code, Compile, and debug on MSVC -> import into Code::Blocks & generate Makefile
-> test compile and debug with GCC
-> copy to Linux with Code::Blocks -> test compile & debug on Linux
おそらく少し鈍いですが、少なくともCode :: Blocksは、Makefilesなどの小さな詳細の多くを処理します。
Windowsで実行するために記述されたコードを取得し、Linuxで実行できるものを求めていますか?実際にそれを行うコンパイラはありませんが、おそらくあなたはWine( http://www.winehq.org/ )を探していますサンクアウト)。
編集:この回答では、コードがWindows API(Win32など)を使用していると想定しています。クロスプラットフォームで利用可能な標準C++とライブラリのみを使用している場合、他にも多くの答えがあります。
Windowsでコンパイルし、結果のバイナリを取得してLinuxマシンで実行できるコンパイラはないと思います。最善の策は、WindowsとLinuxの2つの開発環境をセットアップすることです。必要に応じてWindows環境でほとんどの開発とデバッグを行い、Linuxで頻繁にコンパイルおよびテストして、コードが本当にクロスプラットフォームであることを確認します。また、クロスプラットフォームのビルドシステムとテストフレームワークを使用することもできます。 cmake と Google Test をそれぞれ使用することをお勧めします。
仮想化やクロスコンパイラを使用せずに、WindowsからLinuxにコンパイルしますが、coLinux経由でのみネイティブにコンパイルします。
Leave(再起動)ウィンドウなしでネイティブLinux実行可能ファイルを作成します。
C/C++でのLinux向けの協調Linuxによるコンパイル
ALT-TABによるWindowsとLinux間の最速の切り替え(再起動や再起動は不要)。
1。coLinuxのインストール( http://sourceforge.net/projects/colinux/files/latest/download?source=files )
2.coLinuxルートファイルシステムイメージを使用:Ubuntu-9.04-1gb.7z( http://sourceforge.net/projects/colinux/files/Images%202.6.x%20Ubuntu/Ubuntu% 209.04 / )
3.start coLinux
4。文字列「archive.ubuntu.com」を「old-releases.ubuntu.com」に変更します。
Shell> Sudo vi /etc/apt/sources.list
5。構成を更新します。
シェル> Sudo apt-get update
6。2つのソフトウェアパッケージをインストールして、プログラムをコンパイルできるようにします。
シェル> Sudo apt-get install build-essential
(c/c ++、gccコンパイラー)
シェル> Sudo apt-get install libmysqlclient15-dev
(mysql dev 5.1)
7。coLinuxからWindowsディレクトリへのアクセス
Shell> mount cofs0/mnt/-t cofs
Shell> cd/mnt
8。コンパイル
Shell> c ++ your.source.cc -o executable.name