UbuntuでWindows用にプログラムする方法は?


24

とにかく、UbuntuのIDE(Anjutaなど)内に(C ++またはC#)Windowsコンソールアプリケーションを作成し、Windows用にコンパイルする方法はありますか?


1
mingwはクロスコンパイルに適した選択肢ですが、Anjuntaと統合する方法はわかりません。:私はここにmingwのとKDevelopの統合のチュートリアルを参照しましたforums.gentoo.org/viewtopic-t-292180.html mingwのはAnjuntaのチュートリアルとの統合を知っている推薦する人々の多分1つを?
RobotHumans

回答:


21

クロスコンパイルを行いたい。これは、特にプロセッサが完全に異なる場合に、自分のプラットフォーム以外のプラットフォーム用のコードをコンパイルする方法です。基本的に、ターゲット(つまり、windows)のすべてのヘッダーをインストールしてから、コンパイラーにクロスコンパイルを伝えて、システムチェックの一部を行わず、代わりに非標準のディレクトリを指すようにする必要があります。

言語に応じて、検索や質問を具体的に行うと便利な場合があります。また、基本的なcを実行している場合は、MinGWツールとgccを使用する同じ種類のLinuxベースのコンパイルツールを使用できます。

sudo apt-get install gcc-mingw32

MinGWツールを使用したqt / win32クロスコンパイルに関する優れたガイドがあります


12

あなたは見ている必要がありmingwのを。Windows用のgcc互換コンパイラーを提供します。

LinuxからWindowsバイナリを生成するために使用できるクロスプラットフォームバージョンがあります。synapticでインストールするか、次を実行してインストールできます。

sudo apt-get install gcc-mingw32

それに基づいて、通常の「make」コマンドを使用して、Windows用のプログラムを作成できます。

その後、makeとgccを使用できるIDEであれば、このコンパイラを使用できます。たとえば、これはCode :: Blocks IDEからそれを行う方法です。


私に十分な+1
RobotHumans

7

他の答えは、C / C ++コードに対して正しいです。クロスコンパイラを取得する必要があります。

C#コードの場合、Monoのコンパイラは.NETコンパイラと同じタイプのバイトコードと実行可能形式を生成するため、Monodevelopを 使用できMonodevelopをインストールするます(およびその逆)。Monoで構築したアプリは、標準の.NET Base Class Libraries内に留まるか、アプリで使用する追加のライブラリをバンドルしている限り、Windowsマシン上で変更なしで実行されます。


5

Qt CreatorでQtを試してみたいと思うかもしれません。GUI、コンソールアプリケーション用の優れたフレームワーク。Windows、Linux、OS X向けにコンパイルできます。

http://qt.nokia.com/


2

WindowsアプリケーションLinux(ubuntu)をプログラムする最も一般的な方法は、mingwツールを使用することです。

http://www.mingw.org/

すぐにインストールできるmingw用のubuntuパッケージがあります。


2

このページから:

sudo apt-get install wine mingw32 mingw32-binutils mingw32-runtime

基本的なクロスコンパイルに必要なのはこれだけです。やってみよう:

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
  MessageBox(NULL,
    "Cette fenêtre prouve que le cross-compilateur est fonctionnel !",
    "Hello World", MB_OK);
  return 0;
}

これをコンパイルするには:

i586-mingw32msvc-g++ -o essai.exe essai.cpp

実行するには、mingwライブラリが必要です:mingwm10.dll:

gunzip -c /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > mingwm10.dll

次に、それを起動できます。

wine essai.exe

ダイアログボックスのテキストはフランス語のアクセント付きで、gvimでそれを行うには、ソースをWindowsコードページ1252に変換します<ESC>:e ++enc=cp1252

より強力な別の解決策はUTF-8を使用することですが、これには文字列の処理方法を変更する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.