Re: Крос компиляция дл я M$
On Mon, Apr 21, 2003 at 11:36:30AM +0600, Dimitry N. Naldaev wrote: Ну почему же, первый тоже собирается с ./configure --build=i686-pc-linux --host=i586-mingw32msvc --disable-nls $cd hello-1.3 $./configure --build=i686-pc-linux --host=i586-mingw32msvc --disable-nls $make все прекрасно собирается даже без варнингов, НО на выходе получается ELF-бинари!!! который прекрасно запускаеся на моем linux'е без всяких эмуляторов :-( Скорее всего, устаревший configure. У меня hello-2.1.1, там это работает. после этого открываю в редакторе Makefile и исправляю строчку CC = gcc на строчку CC = i586-mingw32msvc-gcc (что в общем случае неправильно...) Да нет, это тоже правильно, только делать надо так: $ CC=i586-mingw32msvc-gcc ./configure $ make Получишь тот же результат. Хотя в общем случае тут может быть несколько более сложный механизм, если автор закладывался на кросс-компиляцию и предусмотрел специальную обработку таких флучаев в автоконфигураторе. но теперь компилер уже ругается: hello.c:26: pwd.h: No such file or directory make: *** [hello.o] ОШИБКА 1 что я делаю неправильно? Ты неправильно квотишь! Мое оригинальное сообщение звучало так: Ну почему же, первый тоже собирается с ./configure --build=i686-pc-linux --host=i586-mingw32msvc --disable-nls после совсем небольшой доработки напильником кода в hello.c. ^ Доработка заключается в применеии скобок #ifndef WIN32 на getpwuid() и замене его на ЧтоТамИспользуютВВинде(). -- Andrey V. Kiselev Home phone: +7 812 5274898 ICQ# 26871517
Re: Крос компиляция дл я M$
On Fri, Apr 18, 2003 at 11:09:37PM +0400, Victor B. Wagner wrote: ./configure --build=i686-pc-linux --host=i586-mingw32msvc --disable-nls Да, про возможность отрубить nls при конфигурировании я и не подумал. Да я думаю, что можно и с NLS, только там тоже немного поработать надо. Или обновить приложенный libintl, может быть его таки довели до ума. -- Andrey V. Kiselev Home phone: +7 812 5274898 ICQ# 26871517
Re: Крос компиляция дл я M$
On Fri, Apr 18, 2003 at 12:57:05AM +0400, Victor B. Wagner wrote: i586-mingw32msvc-gcc -o hello.exe hello.c А как собрать что-нибудь более сложное, чем hello.c? (да и hello.c с ним не идет :-( Это какой hello.c? Гнутый и или из Кернигана и Ритчи? Второй - идет. Первый и не должен, это тебе не cygwin. Ну почему же, первый тоже собирается с ./configure --build=i686-pc-linux --host=i586-mingw32msvc --disable-nls после совсем небольшой доработки напильником кода в hello.c. Они его просто ни разу не пробовали так собирать, иначе бы наверняка компилировался из коробки. -- Andrey V. Kiselev Home phone: +7 812 5274898 ICQ# 26871517
Re: Крос компиляция дл я M$
On Thu, 17 Apr 2003 21:24:33 +0600 Dimitry N. Naldaev [EMAIL PROTECTED] wrote: В сообщении от 17 Апрель 2003 19:36 Alexander Danilov написал: On Thu, 17 Apr 2003 18:19:10 +0600 PS есть порт gcc под дос, называется djgpp. а можно его тоже как-то кросом с линуска пускать? может кто знает рецепт... это надо патчи брать для djpp, накладывать на gcc и собирать, где-то в инете есть cross-compiler-howto(или как-то так) не получилось у меня найти таое howto :-( где его искать? искать в google.com по словам cygwin-cross-howto cross-faq -- Alexander Danilov UIN: 164825399 * Origin: If you can't do it in Perl, you don't want to do it.
Re: Крос компиляция дл я M$
On Thu, Apr 17, 2003 at 06:19:10PM +0600, Dimitry N. Naldaev wrote: apt-get install mingw32 Спасибо, Вот только там доки совсем нету :-( i586-mingw32msvc-gcc -o hello.exe hello.c А как собрать что-нибудь более сложное, чем hello.c? (да и hello.c с ним не идет :-( у меня например есть исходники второго квака, да только makefile там идет только для linux'а а для а для мастдаевского VC там .dsp и .dsw файлы идут... а как и на чем можно ГУЙ делать? а то виндовым ю-зверям ведь всякие менюшки нужны (и так далее)... идешь на гугл, ищещь гнездо mingw32 и подписываешься на их мэйллист. да и дока там, помнится, какая-то была... -- A: No Q: Should I quote below my post? Good luck! /AKA Druid
Re: Крос компиляция дл я M$
On 2003.04.18 at 11:08:07 +0400, Andrey Kiselev wrote: On Fri, Apr 18, 2003 at 12:57:05AM +0400, Victor B. Wagner wrote: i586-mingw32msvc-gcc -o hello.exe hello.c А как собрать что-нибудь более сложное, чем hello.c? (да и hello.c с ним не идет :-( Это какой hello.c? Гнутый и или из Кернигана и Ритчи? Второй - идет. Первый и не должен, это тебе не cygwin. Ну почему же, первый тоже собирается с ./configure --build=i686-pc-linux --host=i586-mingw32msvc --disable-nls Да, про возможность отрубить nls при конфигурировании я и не подумал.
Re: Крос компиляция дл я M$
On Thu, 17 Apr 2003 18:19:10 +0600 Dimitry N. Naldaev [EMAIL PROTECTED] wrote: Народ хочет PE executable с расширением EXE, народ получит PE executable. А делать его будет gcc под Linux-ом. а можно попдробнее? может ссылочки какие кинешь, что почитать, где взять... а если будут .deb пакетики --- то вообще зашибись :-) глядишь одной проблемой будет меньше :-) apt-get install mingw32 Спасибо, Вот только там доки совсем нету :-( i586-mingw32msvc-gcc -o hello.exe hello.c А как собрать что-нибудь более сложное, чем hello.c? (да и hello.c с ним не идет :-( я как-то fox собирал для ruby, работает глюков не заметил у меня например есть исходники второго квака, да только makefile там идет только для linux'а а для а для мастдаевского VC там .dsp и .dsw файлы идут... так наверно линуксовым пользоваться makefile'ом надо, только имя компилятора исправить а как и на чем можно ГУЙ делать? а то виндовым ю-зверям ведь всякие менюшки нужны (и так далее)... Tcl/Tk для этого дела очень хорошо подходит, в особенности если разобраться что есть starkit и как его использовать и как в этом случае отлаживать? а то отдавать заказчику прогу, которая ниразу живой Винды с ее глюками не вилела как-то боязно :-))) PS есть порт gcc под дос, называется djgpp. а можно его тоже как-то кросом с линуска пускать? может кто знает рецепт... это надо патчи брать для djpp, накладывать на gcc и собирать, где-то в инете есть cross-compiler-howto(или как-то так) -- Alexander Danilov UIN: 164825399 * Origin: If you can't do it in Perl, you don't want to do it.
Re: Крос компиляция дл я M$
On Thu, Apr 17, 2003 at 07:42:41PM +0600, Dimitry N. Naldaev wrote: В сообщении от 17 Апрель 2003 18:38 Иван Лох написал: On Thu, Apr 17, 2003 at 06:19:10PM +0600, Dimitry N. Naldaev wrote: а как и на чем можно ГУЙ делать? а то виндовым ю-зверям ведь всякие менюшки нужны (и так далее)... На gtk, qt2... на одной из десятка кроссплатформенных библиотек. а их нужно заново пересобирать или то что уже стоит у меня в системе покатит??? Нужно. -- Иван Лох
Re: Крос компиляция дл я M$
On 2003.04.17 at 18:19:10 +0600, Dimitry N. Naldaev wrote: глядишь одной проблемой будет меньше :-) apt-get install mingw32 Спасибо, Вот только там доки совсем нету :-( Ну так кто же учится программированию по докам к компилятору. Книжки читать надо. i586-mingw32msvc-gcc -o hello.exe hello.c А как собрать что-нибудь более сложное, чем hello.c? (да и hello.c с ним не идет :-( Это какой hello.c? Гнутый и или из Кернигана и Ритчи? Второй - идет. Первый и не должен, это тебе не cygwin. а как и на чем можно ГУЙ делать? а то виндовым ю-зверям ведь всякие менюшки нужны (и так далее)... Много на чем. Я на Tcl/Tk делаю. В смысле, беру C-шную библиотеку, приделываю к ней более высокоуровневые ручки и дальше пишу программы на Tcl с использованием этих ручек. Можно на fltk. Не знаю, правда, как у него с готовыми Makefile для mingw32, но должны быть. и как в этом случае отлаживать? а то отдавать заказчику прогу, которая ниразу живой Винды с ее глюками не вилела как-то боязно :-))) Тестами. Кстати, тесты я иногда под wine пускаю. Когда лень vmware поднимать. PS есть порт gcc под дос, называется djgpp. а можно его тоже как-то кросом с линуска пускать? может кто знает рецепт... Гугль знает. Где-то на сайте delorie он мне нашел перловый скриптик, который собирал djgpp под Debian. Но к сожалению, он был рассчитан на 3.1 gcc, с 3.2 так просто не получилось. То есть пакеты-то я собрал, но в них C работает, а C++ - нет. Сегодня вот не успел переделать по делориевской хаутушке. Может завтра доделаю. Tcl и даже Ck к нему (консольный аналог Tk) у меня этим собрался и работает, а вот с плюсами пока проблемы. Конструкторы у статических членов класса не вызываются. Но хочу заметить, что djgpp это не настоящий dos, а DPMI32. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]