LINUX.ORG.RU

Кросс-компиляция для Win32


0

1

Пытаюсь скомпилировать небольшое приложение (C++ + SDL + OpenGL) без помощи виртуальной машины с офтопиком (под ним в MinGW Developer Studio, кстати, всё нормально работало). Хост-система - Arch Linux x86_64.

Поставил из AUR: mingw32, заголовочные файлы WinAPI, mingw32-sdl. Простое приложение («hello world» с помощью MessageBox) MinGW скомпилировал в нормальный exe-шник.

Теперь пытаюсь скомпилировать основное приложение:

$ export PKG_CONFIG_PATH=/usr/i486-mingw32/lib/pkgconfig/
$ i486-mingw32-g++ `pkg-config --cflags --libs sdl` -lopengl32 -lglu32 -o 3d.exe main.cpp
/tmp/cc2YUbTN.o:main.cpp:(.text+0x11): undefined reference to `_SDL_Init'
/tmp/cc2YUbTN.o:main.cpp:(.text+0x1d): undefined reference to `_SDL_GetError'
/tmp/cc2YUbTN.o:main.cpp:(.text+0x98): undefined reference to `_SDL_Quit'
... и так для всех функций SDL, OpenGl и GLU, только к нормальному названию каждой добавлен символ подчёркивания вначале ...

ЧЯДНТ?

★★★★★

Ответ на: комментарий от anonymous
$ pkg-config --cflags --libs sdl
-D_GNU_SOURCE=1 -Dmain=SDL_main -I/usr/i486-mingw32/include/SDL  -mwindows -L/usr/i486-mingw32/lib -lmingw32 -lSDLmain -lSDL
KivApple ★★★★★
() автор топика
Ответ на: комментарий от Reset

Помогло. Только теперь при запуске в Windows программа ругается на отсутствие libgcc_s_sjlj-1.dll. Можно как-нибудь сократить список требуемых дополнительных библиотек до SDL.dll (opengl и так есть в системе), как это делает MinGW в Windows?

KivApple ★★★★★
() автор топика

Мда, MinGW до сих пор в плачевном состоянии.

buddhist ★★★★★
()
Ответ на: комментарий от Reset

В этом плане mingw g++ ведёт себя точно, как под виндой (под линей с порядком следования проблем нет). А почему ж тогда поведение с libgcc_s_sjlj-1.dll отличается?

gag ★★★★★
()
Ответ на: комментарий от gag

Под виндой я компилировал с помощью MinGW Developer Studio. Возможно, он автоматически добавляет эти опции, хотя они не указаны в настройках проекта.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

Тогда интересно дописать -v и посмотреть отличия.

P.S. Сам хочу перейти на кросскомпилирование и wine для тестирования. Да вот не нахожу готовых deb'ов с gtk. Разве что пакеты для зусе и федоры. И никак не сяду попробовать rpm2deb.

gag ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.