Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Можно ли скомпилировать из-под Windows прогу для Linux?

14K
13 марта 2007 года
Vurdilla
11 / / 10.05.2006
Есть код - console application, используется только стандартная библиотека.
Существует ли компилятор, который работает на Windows-машинах и может скомпилировать программу для Linux-машины? Если существует, то как называется ;-)

Параллельный вопрос - под Linux некий аналог lib-файла скомпилировать, чтобы потом другой мог его использовать при написании linux-приложения - это возможно? Если да, то в каком компиляторе можно сделать это из-под виндов?
3
13 марта 2007 года
Green
4.8K / / 20.01.2000
Это называется кросс-компиляция. Конкретный компилятор назвать не могу, ищи кросс-компиляторы. Библиотеки так же можно создавать.
14K
13 марта 2007 года
Vurdilla
11 / / 10.05.2006
Блин!
Нашел GNU GCC, только там документация, документация и документация, хрен разберешься!
Ужас!!!
Я в шоке!
Кто-нибудь знает простой способ, как это сделать, а?
Мне всего-то коллеге надо переправить наработки, чтобы он их под linux использовал, но сделать это, не показывая кода. Я че-то не планировал разбираться в фундаментальных свойствах linux, компиляторов под него и т.п. ...
15K
13 марта 2007 года
Sara
79 / / 04.01.2007
Для этих целей существуют эмуляторы Unix. Наиболее известные - CygWin, UWin, MinGW.
У нас на работе, например, CygWin используют.

А вообще, в инете много статей на эту тему. Думаю, вы сами сможете найти то, что вам надо, если покопаетесь немного.
Вот ссылки, которые удалось найти в течение 2-3 минут:
http://www.openproj.ru/50/410/?IB2XP=3332da1b2da47a9e1ad4a2ddf955d8d8
http://e-zine.excode.ru/online/2/cygwin_unix_in_windows.html
http://ru.wikipedia.org/wiki/Cygwin
14K
13 марта 2007 года
Vurdilla
11 / / 10.05.2006
А, спасибо...
Совсем не ясно, может, объясните в общих чертах или дадите ссылку, зачем нужен эмулятор для компиляции? Ведь, казалось бы... не нужен. Для дебага нужен, а для компиляции - зачем?
15K
13 марта 2007 года
Sara
79 / / 04.01.2007
Если нужен только компилятор, то вам, наверное, MinGW подойдет.

Цитата (см. первую ссылку):
Цитата:
Пакет MinGW правильнее назвать не эмулятором Unix, а Unix-компилятором для Windows. В отличие от UWin и CygWin, он не включает в себя оболочек и стандартных утилит, а содержит только компилятор GCC, утилиту make и набор стандартных библиотек и заголовочных файлов, которые необходимы для компиляции Unix-программ. Главное достоинство MinGW заключается в том, что он представляет собой единый пакет, в котором сразу собрано все необходимое, поэтому если вам требуется только компиляция Unix-программ, то MinGW32 может оказаться самым простым и удачным выбором.

14K
13 марта 2007 года
Vurdilla
11 / / 10.05.2006
Ага, ответ пришел сам: MinGW - это просто компилятор.

Однако, такой вопрос: MinGW умеет делать dll-файлы, но мне бы аналог lib-файла, через который можно было бы получить не только функцию, но и класс.
Есть ли такая возможность?
В описании MinGW пока не могу найти.
3
13 марта 2007 года
Green
4.8K / / 20.01.2000
MinGW - это совершенно не то, что надо судя по топику.
Вы путаете сборку и выполнение программ под Windows с кросс-компиляцией.
Автору, как я понял из топика, не нужно выполнять программы в Windows, ему нужно выполнение в linux. При чем тогда тут Cygwin и MinGW ?
Ему нужен кросс-компилятор! Другое дело, что сам этот кросс-компилятор может работать под Cygwin.
2
13 марта 2007 года
squirL
5.6K / / 13.08.2003
http://metamod-p.sourceforge.net/cross-compiling.on.windows.for.linux.html
не спасет отца русской демократии?
24K
01 апреля 2007 года
NikScor
13 / / 02.03.2007
Попробуй С Builder X от Борланда. Он и под линукс компилить умеет, и под Симбиан.
502
01 апреля 2007 года
Jail
550 / / 30.01.2007
[LEFT]
Цитата:
Для этих целей существуют эмуляторы Unix. Наиболее известные - CygWin, UWin, MinGW.
У нас на работе, например, CygWin используют.

А вообще, в инете много статей на эту тему. Думаю, вы сами сможете найти то, что вам надо, если покопаетесь немного.
Вот ссылки, которые удалось найти в течение 2-3 минут:
http://www.openproj.ru/50/410/?IB2XP...d4a2ddf955d8d8
http://e-zine.excode.ru/online/2/cyg...n_windows.html
http://ru.wikipedia.org/wiki/Cygwin


Ага...Вы бы ему ещё посоветовали поставить виртуальную машину,туда поставить Линух и там запускать свою прогу))))) Я думаю не в тему это.
У меня был личный опыт. Написали как-то прогу под линух,ну и со временем кое-какие серваки стали переделывать с винды на Solaris. Решили перекомпилить
то ПО под соляру. Прога стала работать раз в 9 медленне. Вы думаете это соляра тормоз...нее... Solaris в списках Oracle находится в числе флагмановых ОС, просто Linux работает с нитями ,а соляра этого делать не умеет. Пришлось немного покапаться и переработать это дело под солярку))))
Так называетмые "кросс-компиллеры", мда...не знаю какова у Вас будет после всего этого скорость, ну и с документухой возиться не надоест?? Винда и линух...это совершенно разнейшие вещи! Я бы сделал не так. Я бы немного покапался и переделал всё под винду, алгоритм же остаётся тот же, а вот при написании на С/С++ библиотеки для каждой платформы свои. Немножко работы, включение библиотек винды ,небольшая доработка и вуаля и сивупле)))
[/LEFT]

361
01 апреля 2007 года
Odissey_
661 / / 19.09.2006
Цитата:
Так называетмые "кросс-компиллеры", мда...не знаю какова у Вас будет после всего этого скорость


Странно, если существует предложение, значит то хоть какой то спрос, должен быть? =) Неможет же существовать понятие об объекте без самого объекта. В каких то случаях они применимы. Может это как раз тот случай?

Цитата:
Винда и линух...это совершенно разнейшие вещи! Я бы сделал не так. Я бы немного покапался и переделал всё под винду, алгоритм же остаётся тот же, а вот при написании на С/С++ библиотеки для каждой платформы свои. Немножко работы, включение библиотек винды ,небольшая доработка и вуаля и сивупле)))


Ну, тоже подход конечно. Только зачем? Кроме кросс-компиляторов существуют кросплатформеные библиотеки, которые прекрасно справляются с этой задачей. Вот недавно и дискуссия на эту тему была, там и С++ библиотеки рассматривались.

3
01 апреля 2007 года
Green
4.8K / / 20.01.2000
Цитата: Jail

Так называетмые "кросс-компиллеры", мда...не знаю какова у Вас будет после всего этого скорость, ну и с документухой возиться не надоест?? Винда и линух...это совершенно разнейшие вещи! Я бы сделал не так. Я бы немного покапался и переделал всё под винду, алгоритм же остаётся тот же, а вот при написании на С/С++ библиотеки для каждой платформы свои. Немножко работы, включение библиотек винды ,небольшая доработка и вуаля и сивупле)))
[/LEFT]


Ты путаешь теплое с мягким.
Человек же в топике ясно сказал: "Существует ли компилятор, который работает на Windows-машинах и может скомпилировать программу для Linux-машины?"

Ему не нужна программа под Windows, ему нужна программа под Linux, но скомпилировать её он хочет на машине, на которой стоит Windows.

Конкретный пример.
Есть игра написанная для PlayStation2, но компилируется она на машине, где стоит Windows. Ты предлагаешь переделать игру под Windows или компилировать на PS2 ? :)

502
02 апреля 2007 года
Jail
550 / / 30.01.2007
[LEFT]
Цитата:
Ему не нужна программа под Windows, ему нужна программа под Linux, но скомпилировать её он хочет на машине, на которой стоит Windows.


А зачем????
На Linux она не компилируется чтоли? Или диск с линухом в ремонт отнесли? :D

Цитата:
Конкретный пример.
Есть игра написанная для PlayStation2, но компилируется она на машине, где стоит Windows. Ты предлагаешь переделать игру под Windows или компилировать на PS2 ? :)


Это другая тема. Естественно что на приставке не скомпилируешь))) Или возможны варианты?
[/LEFT]

3
02 апреля 2007 года
Green
4.8K / / 20.01.2000
Цитата: Jail
[LEFT]
А зачем????
На Linux она не компилируется чтоли? Или диск с линухом в ремонт отнесли? :D
[/LEFT]


Вариантов ситуации может быть море, один я привел.

240
02 апреля 2007 года
aks
2.5K / / 14.07.2006
Цитата: Jail
[LEFT]
просто Linux работает с нитями ,а соляра этого делать не умеет.


Это с какого перепугу? =)))))

2
02 апреля 2007 года
squirL
5.6K / / 13.08.2003
Цитата: Jail
[LEFT]просто Linux работает с нитями ,а соляра этого делать не умеет. Пришлось немного покапаться и переработать это дело под солярку))))
[/LEFT]



:D:D:D

пацтулом... в соляре реализация тредов НА ПОРЯДОК лучше чем в линукс.

502
02 апреля 2007 года
Jail
550 / / 30.01.2007
[LEFT]
Цитата:
:D:D:D

пацтулом... в соляре реализация тредов НА ПОРЯДОК лучше чем в линукс.


Хм. Ну может тогда Эксперт squirL пояснит мне и тем незадачливым прогерам, всем переделававшим эту прогу под Solaris в чём же была причина тормоза, а???
Раз уж всё так замечательно, то в чём же могла быть причина, до переделки??? Без обид, Вы сами-то с этим сталкивались на практике???
[/LEFT]

2
02 апреля 2007 года
squirL
5.6K / / 13.08.2003
Цитата: Jail
[LEFT]
Хм. Ну может тогда Эксперт squirL пояснит мне и тем незадачливым прогерам, всем переделававшим эту прогу под Solaris в чём же была причина тормоза, а???
Раз уж всё так замечательно, то в чём же могла быть причина, до переделки??? Без обид, Вы сами-то с этим сталкивались на практике???
[/LEFT]


на практике? я не разработчик практик. я администратор практик. и работаю с конечным продуктом. а сказать в чем причина без наличия исходных кодов не может никто. могу только предположить, что использовались какие то специфические фичи линукс (например linux-thread)

502
02 апреля 2007 года
Jail
550 / / 30.01.2007
[LEFT]
Цитата:
могу только предположить, что использовались какие то специфические фичи линукс (например linux-thread)


В точку squirL!!! Отлично!! Пять балов ровно!!! ;)
Именно поэтому в соляре мы так лопухнулись((((((((
После доработки всё стало отлично взаимодействовать))))) И без обид))) ;) Возможно я не так выразился в начале..сори за двусмысленность...... :rolleyes:
[/LEFT]

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог