У меня установлена 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) для окон с: i686-pg-mingw32-gcc simple.c -o simple.exe
, и она отлично работала под Windows
Но чего я не могу, так это кросс-компиляции для 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, передача переменных и т.д.)
-mwindows
(по умолчанию-mconsole
) команде компоновщика. Но лично я считаю полезным в отладочных сборках видеть предупреждения GLIB и другие выходные данные. - person rodrigo   schedule 05.12.2011