У меня установлены Fedora (последняя версия), а также пакеты mingw32 и gtk.
Я написал простой Hello world:
#include <gtk/gtk.h>
int main(int argc, char* argv[]){
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return 0;
}
Я могу легко скомпилировать его в Fedora с помощью:
gcc -o hello hello.c 'pkg-config --libs --cflags gtkmm-3.0'
(здесь неправильные апострофы)
Я также пытался скомпилировать простую printf("Hello world");
программу (без gtk) для Windows с: i686-pg-mingw32-gcc simple.c -o simple.exe
, и она прекрасно работала под Windows
Но я не могу кросс-компилировать для окон, использующих GTKmm (даже пример с другой версией GTK, было бы здорово). Я прочитал это http://camltastic.blogspot.com/2008/10/mingw-compile-software-for-windows.html, но он использует configure и make, которых у меня нет для моих программ.
Также есть много чего: http://ricardo.ecn.wfu.edu/~cottrell/cross-gtk/, но в нем говорится об установке mingw самостоятельно в пользовательскую папку и так далее ... но я установил mingw с помощью Fedora yum.
Обновление
Обновление после всех подсказок Родриго:
ДА! Мы сделали это! Работает. Сначала запускается консоль, но не важно. Я также не тестировал все библиотеки GTK, но думаю, что они также должны работать.
После года попыток у меня наконец-то все получилось, и я ближе всего к разработке приложений с графическим интерфейсом из когда-либо существовавших. Так что большое спасибо за ваше терпение и руководство. Я думаю, что теперь я также как-то понял, как все это работает (я имею в виду, скомпилированные библиотеки для разных ОС, pkg-config, переменные и т. Д.)