Мне поставили задачу - разобраться с кросскомпиляцией 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
Комментариев нет:
Отправить комментарий