Добрый день!
Хотел у вас спросить совета по поводу кросскомпиляции С/С++ приложений.
Сам использую linux, но в последнее время все чаще появляется необходимость компилировать win-приложения.
Меня интересует компиляция консольных и (в перспективе) gtk-приложений.
В интернете ничего толкового не нашел, все как-то очень запутанно и вдобавок еще и на английском языке.
Поставил MinGW из репозитариев, но как использовать не понял, документации нет.
В идеале хотелось бы, чтоб можно было использовать уже имеющийся linux`овый make-файл.
Подскажите, пожалуйста, что-нибудь из своего опыта или киньте ссылочки на что-нибудь толковое. Заранее спасибо.
Кросскомпиляция
Подскажите, пожалуйста, что-нибудь из своего опыта
Из своего опыта: пишу на Qt, если возникает необходимость собрать под винду пользуюсь виртуалкой, ибо кросскомпиляция конечно привлекательна, но может получится не рабочий код...
Пробовал ещё через wineg++ собрать хеллоу ворлд... но на этим мой опыт работы с ним и закончился. Можете погуглить в этом направлении тоже...
Вообще, если бы возникла такая необходимость, то я бы поставил какой-нить виндовый компиллер под wine...
Добрый день!
Хотел у вас спросить совета по поводу кросскомпиляции С/С++ приложений.
Сам использую linux, но в последнее время все чаще появляется необходимость компилировать win-приложения.
Меня интересует компиляция консольных и (в перспективе) gtk-приложений.
В интернете ничего толкового не нашел, все как-то очень запутанно и вдобавок еще и на английском языке.
Поставил MinGW из репозитариев, но как использовать не понял, документации нет.
В идеале хотелось бы, чтоб можно было использовать уже имеющийся linux`овый make-файл.
Подскажите, пожалуйста, что-нибудь из своего опыта или киньте ссылочки на что-нибудь толковое. Заранее спасибо.
Посмотрите на wxdevcpp.
По поводу wxdevcpp.
Я так понял, это среда для кроссплатформенной разработки + библиотеки для GUI и ускорения разработки. Это, конечно, интересно, но я уже как-то нацелился на gtk.
А меня интересует немного другое - как уже имеющийся код с gtk или просто консольный скомпилировать под win.
По поводу winegcc (я полагаю, он так называется)
В репозитаряих нет, беглый поиск в Интернете не дал результатов, где вы его нашли?:)
Немножко разобрался с MinGW, с консольными вроде пока работает, компилит.
В репозитаряих нет, беглый поиск в Интернете не дал результатов, где вы его нашли?:)
У меня из коробки с wine'ом 1.3.1 был у вас этот пакет, наверно, будет называться wine-dev или wine-devutils или ещё как-нить... не знаю, с дебианом ни разу не работал...
Хотя я всё равно не вижу смысла собирать под линем... Только ради интереса "а получится ли".
Пишите переносимый код, а соберёт тот кому надо будет... gtk всё равно подразумевает под собой GPL.
Added:
моя ошибка.. лицензия LGPL... но всё равно под винду проще собрать под виндой...
Пишите переносимый код
Легко сказать... Легко что-нибудь упустить из виду и код перестанет быть переносимым. И чем раньше это заметишь, тем лучше, посему полезно иногда хотя бы просто запустить разок то же в другой реинкарнации. smile
Сегодня я в этом убедился.
Откомпилировал одну прогу. C elf все хорошо, а в exe выпала ошибка, о том что с памятью что-то не так...
И действительно, с memset накосячил.
Кросскомпияция - то же способ потестить smile
будет называться wine-dev или wine-devutils или ещё как-нить...
Есть только libwine-dev, который описан как "This package provides the C header files." :(
Это явно не то.
Пишите переносимый код, а соберёт тот кому надо будет...
Мне как правило и надо. smile
В добавок иногда требуется показать прогу на чужом компе (ноута нет), а там никаких компиляторов нет.
Хочу просто подобрать инструментарий, чтоб все было быстро и удобно.
Виртуалку не хочу
1. эти лишние нежелательные манипуляции
2. лицензии на винду, понятное дело, нет
Есть только libwine-dev, который описан как "This package provides the C header files."
Это явно не то.
одна строчка описания не раскроет суть дела... посмотрите список файлов пакета...
Мне как правило и надо.
В добавок иногда требуется показать прогу на чужом компе (ноута нет), а там никаких компиляторов нет.
Хочу просто подобрать инструментарий, чтоб все было быстро и удобно.
Студент? На первых парах кросскомпиляцией может и обойдётесь... а вот когда в глубь полезете поимеете наверняка геморрой на свою голову в виде:
1) зависимости от библиотек, которых нет с собой, в итоге перед тем, как куда-нить нести готовую прогу её придётся проверять в чистой винде
2) проблемы несовершенства АПИ вайна, то есть проблемы класса "под вайном работает, а под виндой нет" или наоборот, и тут уж точно придётся иметь дело
Виртуалку не хочу
1. эти лишние нежелательные манипуляции
2. лицензии на винду, понятное дело, нет
1. После настройки будет всё делаться буквально в 3 клика: запуск виртуалки, открытие проекта, компиляция/запуск
2. уважение к лицензиям это хорошо, но не надо быть таким правильным wink
Сегодня я в этом убедился.
Откомпилировал одну прогу. C elf все хорошо, а в exe выпала ошибка, о том что с памятью что-то не так...
И действительно, с memset накосячил.
Кросскомпияция - то же способ потестить
За границы массива небось вышли? тогда в elf тоже было не всё в порядке, просто вы этого не отловили и на -O1 вполне возможно прога бы уже не работала...
ладно в общем дело ваше, какой инструментарий выбирать, просто предупредил, что кросскомпиляция не панацея...
А вообще для проверки работоспособности под виндой по большому счёту можно использовать... Сам заинтересовался темой.
Сейчас пытаюсь научить qtcreator собирать через wine... если будут положительные результаты - отпишусь.
а чем code::blocks не торт ?
а чем code::blocks не торт ?
там змейка есть и тетрис.... работать не возможно :D
а вообще я с Qt в основном работаю, а креатор - замечательная IDE-шка есть всё необходимое и ничего лишнего(разве что дебагер местами недопилен)... да и из коробки всё сразу работает, а в блоксах, когда пытался приручить, не осилил настройку переменных и бросил...