|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|
Компиляция проекта под linux из windows22.01.2016, 13:56. Показов 9850. Ответов 58
Метки нет (Все метки)
Скорее всего раздел не подходит, просто не знаю к какому это относится больше...
Вот есть проект Visual Studio C++, это библиотека для программы, в проекте есть файл makefile. Чтобы скомпилировать этот файл в *.so нужно линукс устанавливать, что - ли?
0
|
|
| 22.01.2016, 13:56 | |
|
Ответы с готовыми решениями:
58
Компиляция проекта из-под Linux для Win32 Компиляция Builder'овского проекта под Linux, (и освоение Linux после Builder'a) |
|
Модератор
|
|||
| 24.01.2016, 00:43 | |||
|
В семёрке находится в меню Пуск -> Все программы - > Стандартные -> Командная строка Добавлено через 2 минуты
1
|
|||
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
|
| 24.01.2016, 00:53 | |
|
1
|
|
|
Модератор
|
|
| 24.01.2016, 00:56 | |
|
gavrasio, я знаю, что есть такая штуковина. Но сам ей никогда не пользовался. Так что, увы, примеров дать не могу.
Не по теме: Астрологи объявили Неделю Самостоятельности. Польза от знаний, полученных самостоятельно, увеличена вдвое.
1
|
|
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||
| 24.01.2016, 01:05 | ||
|
1
|
||
| 24.01.2016, 01:13 | |
|
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 24.01.2016, 02:28 | |
|
gavrasio, Cygwin - это не тоже самое, что Wine. Cygwin позволяет получить совместимость на уровне исходного кода. Нативно собранный бинарь в Linux на Windows он не запустит. Можно сказать, что Cygwin эмулирует POSIX окружение, для того, чтобы можно было скомпилировать большинство POSIX программ. В том числе, можно взять исходный код компилятора GCC и без всяких дополнительных патчей, совершенно штатно собрать в Cygwin кросскомпилятор с *nix таргетом. Базовое окружение (большинство заголовочных файлов, утилиты командной строки, bash) в Сygwin уже присутствуют.
2
|
|
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||
| 24.01.2016, 20:41 | ||
|
Или для приложений это не действует?
1
|
||
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||||||||
| 24.01.2016, 22:02 | ||||||||
|
Добавлено через 17 минут Вот код:
1
|
||||||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 24.01.2016, 22:13 | ||
|
Если мы собираем в GCC, то бинарник получится зависимым от libstdc++, которая, в свою очередь, зависима от системных библиотек. В Win - это как правило user32.dll, kernel32.dll, MS C-runtime - msvcrt.dll. В Linux - это как минимум libc.so. Ассемблерный листинг пользовательского кода (т.е. того, что пользователь сам пишет) может значительно не отличаться при условии, что платформа (напр. Intel x86) одна и та же. Но возможны нюансы. Например повлияет использование типов зависимых от ОС, например wchar_t в Win принят 2 - байта, в Linux - 4 байта. И таких тонкостей будет до черта, все это в совокупности, собственно, и образует ABI.
3
|
||
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||
| 24.01.2016, 22:43 | ||
|
1
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 24.01.2016, 22:51 | ||
|
Разницу видно будет если дизассемблировать получившийся исполняемый файл
1
|
||
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||
| 24.01.2016, 23:00 | ||
|
Хотя Makfile пишется на балабалском языке( не знаю, как VS6++)
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
||
| 24.01.2016, 23:20 | ||
|
Исполняемый файл же будет разный. Каждый под свою платформу. В штатном режиме, компилятор собирает исполняемый файл под платформу, на которой сам запускается. Для того, чтобы получить исполняемый файл для чужой платформы существуют кросскомпиляторы. В Linux можно собрать чужеродный Windows-бинарник, используя кросскомпилятор mingw. И запустить его потом используя Wine, который эмулирует виндовое окружение. Это все относительно штатные средства, есть практически в любом дистрибутиве. В Windows, чтобы сделать тоже самое, штатных средств нет. Поэтому ТСу и было предложено поставит Сygwin, который содержит *nix-совое окружение и допускает без проблем собрать или установить кросскомпилятор для сборки *nix-бинарников. Запустить же их под Windows так же просто не получится. Решения конечно есть, все исходят из виртуализации, вот, например, вариант с использованием qemu и специального дистрибутива linux: http://ashishware.com/LinuxOnWindows.shtml. Добавлено через 1 минуту Собственно проблема ТС в том, что он не знает(л) какими инструментами можно скомпилировать исполняемый файл под Linux из Windows.
0
|
||
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||
| 25.01.2016, 00:00 | ||
|
0
|
||
|
Полярный
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
||
| 25.01.2016, 00:05 | ||
|
А какие преимущества у cygwin (я им не пользовался)? Скорость? Опять же, тестить потом...
0
|
||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||
| 25.01.2016, 00:23 | |||
|
Makefile пригодится при сборке кросскомпилятором. ![]() В приниципе конечно можно поставить Linux либо на виртуалку, либо сразу на железо, но ТС же ясно дал понять, что хочет по возможности этого избежать. Отсюда советы такие. Добавлено через 10 минут gavrasio, честно говоря в твоих строках читается такое чудовищное непонимание, что даже страшно. В общем давай на пальцах еще раз. 1) По умолчанию в windows вообще нет никакого компилятора. 2) Родная командная строка в Windows малофункциональная. 3) Компилятор в VS собирает только под Windows. 4) G++, который в составе Mingw для Windows собирает только под Windows. 5) Cygwin - это как раз *nix-совая командная строка для винды. Там есть bash, утилиты командной строки, make и набор разных компиляторов: - Есть компиляторы которые собирают *nix исходники под windows. Cygwin в этом плане упрощает портирование, т.к. эмулирует POSIX (Windows нативно POSIX поддерживает весьма ограниченно). - Есть компиляторы, которые собирают под другие целевые платформы (кросскомпиляторы), в данном случае ТСу нужен Linux x86.
0
|
|||
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||
| 25.01.2016, 00:34 | ||
), если у него его нет, откуда он возмётся? Он же в Окне сидит.
0
|
||
|
Полярный
477 / 449 / 158
Регистрация: 11.09.2011
Сообщений: 1,156
|
||||
| 25.01.2016, 00:37 | ||||
И все же мне правда интересно когда использовать cygwin вместо виртуалки разумнее и/или удобнее в сравнении с шустрой виртуалкой (если при этом нужно тестировать прогу, конечно).![]()
0
|
||||
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 25.01.2016, 00:39 | |
|
gavrasio, Я что, в пустоту пишу? Может хватит издеваться-то?
![]() ТС спрашивал о возможности находясь в Windows скомпилировать испоняемый файл, который потом можно будет запустить в Linux. Такая возможность ЕСТЬ и я нигде не торопился. И вообще, я уже устал одно и то же писать...
0
|
|
| 25.01.2016, 00:39 | |
|
QT компиляция из Windows под Linux
Компиляция ядра linux из-под Windows Qt: кросс-компиляция из windows под linux Портирование Linux проекта под Windows Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|