LINUX.ORG.RU

Кросскомпиляция boost с linux на windows

 , , , ,


0

2

Имею ubuntu нужно собрать boost (пробовал последние версии) для кросс компиляции под windows, упорно не хотят собираться модули (context, process), подскажите куда копать

echo "using gcc : mingw : i686-w64-mingw32-g++ ;" > user-config.jam
./bootstrap.sh
./b2 install toolset=gcc-mingw target-os=windows address-model=32 link=static runtime-link=static variant=release threading=multi threadapi=pthread  --user-config=./user-config.jam --prefix=/home/ivan/boost-i686-w64-mingw32 --layout=tagged --without-python

ошибки:

...failed updating 5 targets...
   gcc.compile.asm bin.v2/libs/context/build/gcc-mingw/release/x86_32/link-static/target-os-windows/threading-multi/visibility-hidden/asm/jump_i386_sysv_elf_gas.o
   gcc.compile.asm bin.v2/libs/context/build/gcc-mingw/release/x86_32/link-static/target-os-windows/threading-multi/visibility-hidden/asm/make_i386_sysv_elf_gas.o
   gcc.compile.asm bin.v2/libs/context/build/gcc-mingw/release/x86_32/link-static/target-os-windows/threading-multi/visibility-hidden/asm/ontop_i386_sysv_elf_gas.o
   gcc.compile.c++ bin.v2/libs/process/build/gcc-mingw/release/x86_32/boost.process.fs-boost/link-static/target-os-windows/threading-multi/visibility-hidden/environment.o
   gcc.compile.c++ bin.v2/libs/process/build/gcc-mingw/release/x86_32/boost.process.fs-boost/link-static/target-os-windows/threading-multi/visibility-hidden/windows/default_launcher.o


Последнее исправление: babushka (всего исправлений: 4)

посмотри вот это: https://stackoverflow.com/questions/52799461/gcc-from-mingw64-doesnt-use-asse... там автор вопроса сам себе ответил. сделал линк as на mingw gcc. можно попробовать повторить и скормить настройки bjam'у. наверняка будет достаточно даже макроса AS.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)

Потому что он пытается собраться под linux:

make_i386_sysv_elf_gas.o

Вам context и process прям критичны? (можно без них через –without-xxx)

boost весь обмазан ассемблером под разные платформы, там бы на fallback переключиться.

PPP328 ★★★★★
()

Поддержу анона выше. Не про перацкий ляликс, а про то что оно того не стоит. Тем более, если собирать для оффтопика, то надо там тестировать, потому что я видел кучу проектов которые норм работали в Linux и на свежих Windows, вроде 10, но на условной 7 были глюки приводящие к крашам, при том, было это ещё в те времена когда 7 ещё не была деприкейтед и получала обновления. И причина была в кривых версиях gcc.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

И причина была в кривых версиях gcc.

потому и надо собирать не-кривым gcc в Linux, и в статику. что ТС и пытается сделать. там ещё и 32 бита, если ты не заметил. это было до 7-го маздая.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)