2017-09-25 1 views
1

Ich habe einen wirklich einfachen Code unter Verwendung von C++ mit Gtkmm:Warum funktioniert meine Linux-kompilierte Binärdatei nicht, wenn ich sie unter Windows ausführe?

#include <gtkmm.h> 

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

ich kompilieren dies auf Linux und es ist perfekt ich es ausführen kann. Aber das Problem ist, wenn ich hinter die ausführbare Datei kopieren, die ich nicht erreiche, um unter Windows praktikabel zu machen. Aber ich denke immer, Gtkmm ist tragbar?

Wie kann ich dieses Problem lösen?

Vielen Dank!

+7

Die Bibliothek kann verwendet werden, um Code für verschiedene Plattformen zu erstellen - das bedeutet nicht, dass Sie die ausführbare Datei plattformübergreifend kopieren können. Sie müssen das Programm für jede Plattform noch erstellen. – xaxxon

Antwort

1

Gtkmm ist in der Tat eine portable Implementierung. Trotzdem kann man nicht einfach eine ausführbare Datei von Linux nach Windows kopieren und einfügen. Sie müssen Ihr Programm einmal für jede Plattform kompilieren, auf der Sie es ausführen. In Ihrem Fall müssen Sie die typische ausführbare Datei .exe für Windows erstellen.

Wenn Sie die ausführbare Datei für Windows Cross-kompilieren möchten (d. H. Verwenden Sie Ihre Linux-Maschine zum Erstellen der .exe Datei für Windows), sehen Sie sich die mingw Compiler-Toolchain. Diese blog könnte auch einige interessante Informationen für Sie haben.

+0

Vielen Dank, aber ich habe gehört, es war überhaupt nicht einfach, gtkmm3 mit Windows zu kompilieren ...:/ –

+0

Es ist nicht, warum sollten Sie eine _pre-compiled_ gtkmm3, um gegen zu verknüpfen, wenn Sie Cross-kompilieren. –

+0

Wie kann ich ein vorkompiliertes gtkmm3 haben? :) –

Verwandte Themen