Страницы

Поиск по вопросам

пятница, 12 октября 2018 г.

Кросс-компиляция из Windows под Linux. Получение бинарных файлов под Linux

Мне поставили задачу - разобраться с кросскомпиляцией C и C++ приложений из под Windows для Linux. Я попробовал использовать Cygwin для этих целей. Установил эту оболочку, запустил её. Установил компилятор cygwin-gcc-3.3.6-glibc-2.3.2-linux (старый правда). И попробовал из него скомпилировать обычный HelloWorld и запустить его под Linux всё получилось. Но задача стоит чтобы из нашего Windows-приложения запускать кросс-компилятор, который будет компилировать некоторые файлы. Как вообще это можно реализовать? Просто в данном случае приходится запускать Cygwin, а уже из него gcc-linux или g++-linux. Пока не вижу путей запуска из нашего приложения Windows Cygwin и далее уже в нём запуска компилятора. Может быть какие-то есть другие выходы из ситуации? Как-то можно настроить вообще отдельный компилятор по Windows, который будет компилить бинарники под Linux?


Ответ

Установить cygwin. Создать скрипт запускающий сборку. Вызвать скрипт из приложения. В скрипте (cmd-файл) set CYGWIN_BIN=c:\cygwin\bin
CYGWIN_BIN\gcc.exe ... В приложении CreateProcess(...) А еще есть такое средство для кросс-компиляций: crosstool-ng

Комментариев нет:

Отправить комментарий