Компилятор C ++, который работает на Windows и генерирует код Linux - PullRequest
12 голосов
/ 22 декабря 2010

Мне просто любопытно, если это возможно: Есть ли компилятор C ++, который работает на Windows и может генерировать код Linux?

Ответы [ 5 ]

6 голосов
/ 22 декабря 2010

Кросс-компилятор g ++ может сделать это.

См. http://metamod -p.sourceforge.net / cross-compiling.on.windows.for.linux.html.

3 голосов
/ 22 декабря 2010

Абсолютно это возможно. Вам нужен компилятор, который может обрабатывать кросс-компиляции, а затем указывать цель. Ключевым моментом является получение компилятора, способного создавать двоичные файлы способом, требуемым целевой системой. g ++ сделает это за вас.

Я работал над проектом, в котором мы использовали linux для создания исполняемых файлов arm, используя их компилятор C, а затем использовали scp для его копирования для тестирования.

2 голосов
/ 22 декабря 2010

Да, это возможно, но зачем?Существует риск того, что вы настроите его неправильно и получите бинарный файл, который работает некорректно.

Кроме того, вам понадобится установить vmware **, чтобы вы могли протестировать полученные бинарные файлы - вы собираетесьдля выполнения всесторонних тестов, не так ли?

Просто настройте другую виртуальную машину для сборки (разумеется, вам нужно проверить, что она будет работать на машине без установленных инструментов сборки).

** Доступны другие платформы виртуализации, это не коммерция.

1 голос
/ 22 декабря 2010

Если у вас достаточно новый процессор, вы должны получить VirtualBox и просто установить kubuntu или любой другой дистрибутив, хотя это может показаться сложным, будет проще протестировать двоичные файлы и отладить их.

1 голос
/ 22 декабря 2010

Существуют также библиотеки, подобные этой: http://www.shlomifish.org/open-source/portability-libs/, которые обеспечивают переносимость между платформами. Для других я предлагаю поискать библиотеки абстракций

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...