-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
1 | |
Компиляция GCC в Windows28.08.2015, 19:55. Показов 4008. Ответов 16
Метки нет (Все метки)
У меня в виндусе GCC для виндуса (портированный)
Я хочю на нем (5,1) скомпилировать сам компилятор из исходников. http://gcc.parentingamerica.com/snapshots/ Дело в том что тут я невижу макефайла а сделать configure мнге просто нечем. Собственно возникает вопрос, как скомпилировать компилятор из исходного кода.
0
|
28.08.2015, 19:55 | |
Ответы с готовыми решениями:
16
GCC:Компиляция в формат elf под Windows GCC - компиляция C/C++ программ Компиляция Objective-C в GCC Компиляция проекта в gcc |
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
28.08.2015, 20:56 [ТС] | 3 |
Kerry_Jr, тоесть я правильно понимаю что имея tdm-gcc "из коробки", собрать компилятор в таком случае не выйдет
Или чтото не так делаю... Добавлено через 9 минут Может ктото из присутствующих собирал и имеет пободный опыт. Добавлено через 6 минут И еще возникает один вопрос который на данный момент мне неизвестен. А именно можно ли из линукса компилировать виндовые программы, и обратно. И если да, то какие опции компилятора (GCC) при этом надо использовать. Ведь для новой операционки не создают же отдельный компилятор....
0
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
|
01.09.2015, 23:53 | 4 |
Про MSYS выше правильно сказали. Не надо игнорировать такие советы
Нет, не выйдет. Нужно окружение. GCC собрать можно также в Cygwin. Можно. Ставим кросскомпилятор mingw. apt-get install gcc-mingw32 или yum install mingw32-gcc-* в зависимости от дистрибутива. Можно. Ставим\компилируем кросскомпилятор в Cygwin. Компилятор тот же самый, но "нацеленность" его отличается. Поэтому он идет отдельно. Вводная: Кросскомпиляция.
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
02.09.2015, 08:18 [ТС] | 5 |
DrOffset, спасибо большое, обязательно попробую.
Я вот скачал необходимые коды http://tdm-gcc.tdragon.net/download котоые содержат уже маке для данного компилятора. Однако на данный момент ничего не вышло. Более внимательно отнесусь к данным советам. Я предполагал что имея исходные коды самого TDM-а в частности готовых маке файлов должно быть както проще использование компиляции, вероятно оно так и есть но чегото я на данный момент недопонимаю видимо. Если удастся разобраться, постараюсь на своем примере для "первопроходцев" описать что необходимо делать. PS: Ранее я компилировал исходные коды как ядра линукса так и тогоже FAR-а в виндусе, но может в данном случае чтото опустил из виду.
0
|
08.09.2015, 15:26 | 6 |
Как-то давно писал скрипт для сборки.
Но без изменений вряд ли заработает, но принцип тот же.
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
08.09.2015, 16:20 [ТС] | 7 |
castaway, я так понимаю этим скриптом из виндуса собирать, или можно еще и в линуксе им?
0
|
08.09.2015, 16:26 | 8 |
sfinexer, скрипт испытывался только в Windows в MSYS. Хотя теоретически должен работать и в Linux.
Еще есть скрипты по свежее: mingw-builds пользователя niXman.
0
|
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
|
|
09.09.2015, 11:16 | 9 |
Даже в Linux, собрать свежий GCC может стать целой эпопеей.
Нужно скачать не только GCC, но и целый ряд дополнительных библиотек. Кроме этого, может потребоваться выбор и накатка дополнительных патчей для конкретной платформы и методов реализации работы с памятью, прерываниями и т.д.
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
09.09.2015, 14:02 [ТС] | 10 |
AlexVRud, в том и дело что в линуксе все там может быть необходимо установить просто - поиск по пакетам и через пару минут все в порядке.
В виндусе надо именно самому скачивать и устанавливать еще и пути не забывать... Но для виндуса делать это да, так просто не выходит, и патчи как верно сказали также будут нужны, в этом основная проблема. Мое мнение что компилятор болжен быть полноценным и уметь сам себя собирать из исходныв кодов без сторонних библиотек и программ. Добавлено через 4 минуты Понятное дело когда я ядро собираю, там надо сторонний софт (да тотже компилятор к примеру...) В виндусе чтобы собрать компилятора мне самого компилятора совсем нехватает... И пока "а воз и ныне там"... Добавлено через 3 минуты у меня гдето был ассемблерный компилятор, так он сам себя собирает без всякого стороннего. Ведь сборка это посути выдача некой последовательности бит записанной в файл. И мне как обычному человеку непонятно как так, компилятор может собирать программы из кода, а из "тогоже" кода себя скомпилировать не может...
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
09.09.2015, 14:17 | 11 |
Насчет MDM не знаю, а с самим gcc проблем никогда не было. Для сборки основных целей (без Ады) нужен Си++ компилятор стандарта 98, libc с заголовками, утилита make и несколько библиотек (без заголовков), которые в большинстве случаев (если не вседа) уже присутствуют в дистрибутиве (gmp, mpc, mpfr, isl) .
libstdc++ (stl) не нужен. Ну это слишком строго. Хотя бы шелл нужен, чтобы этот компилятор запустить и make, чтобы его собрать.
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
09.09.2015, 15:32 [ТС] | 12 |
Еще и компьютер тоже надо)))
Это понятно, просто для виндуса как я понал (пока к сожалению не все проверил) нужно еще и эмулятор "линукса" так как компилятор не совсем родной. Но с другой стороны, как я понял чтобы компилировать программы в линуксе под виндус, или в виндусе под линукс также одного компилятора не достаточно, хотя смотря более приземненно на это кажется чего мешает в компилятор встроить некий код для сбора этих "целей". И указать цель сборки в макефайле а самим маке указав цель автоматом подключать параметры. Я так понимаю все это уже есть, но требует некого шаманства или наложения патчей, хотя мне бы казалось разработчики могли бы дополнительные танцы с бубном внести в сам код компилятора.
0
|
Evg
|
09.09.2015, 15:43
#13
|
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
09.09.2015, 15:53 | 14 |
Об этом выше вам написали. Скрипт configure и некоторые команды шелла из Мэйкфайлов в вендовой оболочке работать не будут.
Среди целей нативного гцц есть венда, но так скомпилированные программы будут работать под cygwin. Разработчики считают, что этого достаточно. Для сборки привычных вендовых программ в линуксе есть кросс-компилятор mingw - это gcc, допиленный специально для этих целей. Там, соответсвенно, свои версии либ с вендовым ABI. Может вы другого мнения, но мне представляется вполне обоснованным, что мэйнстрим гцц не заморачивается с подконтрольным MS вендовым ABI. А собирать линуксовые программы под вендой - это уж совсем для "любителей".
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
09.09.2015, 16:07 [ТС] | 15 |
Кросс-компилятор, есть... тока он опять сам себя не собирает.
Буду сейчас пробовать разные варианты, если получится напишу, может пригодится комуто.
0
|
-3 / 11 / 5
Регистрация: 22.01.2011
Сообщений: 201
|
|
09.09.2015, 17:46 [ТС] | 16 |
0
|
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
|
|
11.09.2015, 18:54 | 17 |
Не по теме: Категорически не согласен. Более того, если вы сами возьметесь дописать функционал (нужный ещё кому-то, кроме вас) то есть реальный шанс, что ваш код попадет в мейнстрим. Также можете допиленную вами версию продавать, при усовии, что вашим покупателям будут предоставлены исходники под ГПЛ. Свобоные лицензии как раз и "думают" о пользователях, а не о быдле, с которого нужно выколотить деньги. Делать что-то под заказ для полутора "экспериментаторов" разработчики СПО, понятное дело, не будут. А сравнивать с проприетарщиной в контексте данной темы и вовсе смешно. Там и самих-то исходников нет, так что и компилировать нечего. Почему же? Кроскопилятор Линукс->Венда mingw прекрасно сам себя собирает. Вендовый mingw под Вендой тоже себя собирает (немного сложнее, поскольку основная среда сборки и для него - всё тот же линукс). И не вина разрабов gcc и других свободныз программ в том, что Венда, мягко говоря - не самая удобная среда сборки. Собирайте под Линуксом, и большинство обозначенных вами проблем отпадет.
0
|
11.09.2015, 18:54 | |
11.09.2015, 18:54 | |
Помогаю со студенческими работами здесь
17
Раздельная компиляция nasm+gcc для подсистемы Debian в Windows 10 Компиляция gcc Компиляция (gcc) gcc компиляция Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |