|
50 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,615
|
|
Компиляция проекта под linux из windows22.01.2016, 13:56. Показов 9952. Ответов 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
|
|
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|
| 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
|
||||||||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
||
| 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
|
||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
||
| 24.01.2016, 22:51 | ||
|
Разницу видно будет если дизассемблировать получившийся исполняемый файл
1
|
||
|
-16 / 14 / 3
Регистрация: 22.01.2013
Сообщений: 154
|
||
| 24.01.2016, 23:00 | ||
|
Хотя Makfile пишется на балабалском языке( не знаю, как VS6++)
0
|
||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
||
| 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
|
||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|||
| 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
|
||||
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|
| 25.01.2016, 00:39 | |
|
gavrasio, Я что, в пустоту пишу? Может хватит издеваться-то?
![]() ТС спрашивал о возможности находясь в Windows скомпилировать испоняемый файл, который потом можно будет запустить в Linux. Такая возможность ЕСТЬ и я нигде не торопился. И вообще, я уже устал одно и то же писать...
0
|
|
| 25.01.2016, 00:39 | |
|
QT компиляция из Windows под Linux
Компиляция ядра linux из-под Windows Qt: кросс-компиляция из windows под linux Портирование Linux проекта под Windows Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|