2016-01-18 2 views
1

Я полностью осведомлен о this question с просьбой к тому же. Этот вопрос закрыт и довольно старый. Принятый ответ предлагает довольно сложный способ: сделать свой собственный кросс-компилятор, и для этого требуется cygwin.C++ компилятор для linux на окнах

Возможно, теперь есть некоторые другие, более простые способы сделать это?

+5

Linux VM? Получите все необходимые инструменты, прямо из репозиториев дистрибутивов. – BoBTFish

+0

@BoBTFish, даже если моя цель - ARM Linux? Что-то вроде RPi? – Amomum

ответ

2

Собственно, есть. Если вы хотите использовать кросс-компиляцию для linux на ARM, вы можете использовать linaro toolchain, который доступен для окон. Это не требует cygwin.

Если вы хотите использовать кросс-компиляцию для Linux на x86, это немного проблема. Единственная готовая к использованию инструментальная цепочка (помимо предустановленного решения в этом answer), о которой я знаю, является «кросс-компиляционным инструментом» для Intel Edison (here). Есть некоторые недостатки, к нему:

  1. Он будет собирать 32-битный двоичный Линукс
  2. Версию для окон 64-бит требует Cygwin
  3. Версии для Windows 32-бит не требует Cygwin, но содержит прецедентный (т. е. есть файлы с именами, которые отличаются только случаем, и окна будут рассматривать их один и тот же файл). Возможно, вам понадобится make your Windows case-sensitive.

исполняемые файлы Windows, будет "sysroots \ x86_64-pokysdk-mingw32 \ USR \ Bin \ i586-убогая-Linux"

Для использования Edison набора инструментов вы должны предоставить его с опцией SYSROOT для компиляции и связывания , что-то вроде этого:

"i586-poky-linux-g++.exe" --sysroot=../../../../core2-32-poky-linux 
+0

Мы используем инструментарий linaro для работы с плагином VisualGDB для Visual Studio. Это не так, как я бы это сделал, но он работает. –

+0

Я не заметил, что вы ответили на свой вопрос. Вроде. Хотя ELLCC может компилироваться как для ARM, так и для x86_64 Linux. С помощью одной загрузки/набора инструментов. –

1

ELLCC доступен как binary download для Windows, Linux и Mac. Он не требует cygwin и может создавать Linux-программы для нескольких целей, включая ARM. Он основан на компиляторе clang/LLVM.

+0

Я никогда не использовал clang, поэтому я даже не пытался использовать Google. Спасибо, я попробую. – Amomum