[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



Reply to: