2017-09-25 9 views
1

私はgtkmmのとC++を使用して本当に簡単なコードを持っている:Linuxでコンパイルしたバイナリは、Windowsで実行するとなぜ機能しないのですか?

#include <gtkmm.h> 

int main(int argc, char *argv[]){ 
Gtk::Main app(argc, argv); 
Gtk::Window window; 
Gtk::Main::run(window); 
return EXIT_SUCCESS; 
} 

私は、Linux上でこれをコンパイルし、私がそれを実行することができます完璧です。しかし、問題は、Windows上で実行可能にするために達成できない実行可能ファイルをコピーしたときです。でも、私はいつもGtkmmは移植可能だと思っていますか?

どうすればこの問題を解決できますか?

ありがとうございました!

+7

ライブラリを使用してさまざまなプラットフォーム用のコードを作成できます。つまり、プラットフォーム間で実行可能ファイルをコピーできるわけではありません。各プラットフォーム用にプログラムをビルドする必要があります。 – xaxxon

答えて

1

Gtkmmは確かに移植性の高い実装です。 しかし、実行可能ファイルをコピーしてLinuxからWindowsに貼り付けることはできません。実行しているプラ​​ットフォームごとにプログラムをコンパイルする必要があります。あなたの場合、Windowsのために実行可能な典型的な.exeを作成しなければなりません。

Windows用の実行可能ファイルをクロスコンパイルする(Windows用の.exeファイルを作成するためにLinuxマシンを使用する)場合は、mingwコンパイラツールチェーンを見てください。このblogにも興味深い情報があります。

+0

ありがとうございます。Windowsでgtkmm3をコンパイルするのは簡単ではないと聞きました。:/ –

+0

クロスコンパイル時に_pre-compiled_ gtkmm3をリンクする必要があります。 –

+0

どのようにプリコンパイルされたgtkmm3を持つことができますか? :) –

関連する問題