MSVC ?
https://nometa.xyz/
Так тут четко поставлен вопрос для того, чтобы узнать, какими инструментами пользоваться для решения данной задачи
т.е. ты спрашиваешь эту ссылку? https://rust-lang.github.io/rustup/cross-compilation.html добавляешь таргет под интересующую тебя архитектуру в rustup, а затем компилируешь карго'м, подставляя ключ --target
Если ты хочешь запустить тесты, которые требуют линуксовых интерфейсов, на винде, то подумай ещё раз.
Библиотеки использующие FFI не компилируются Смотрел так же данный репозиторий, он ничем не помог https://github.com/est31/msvc-wine-rust
Нет, мне надо просто собирать бинарник
Это сишный код. Сначала добейся чтобы этот Си код кросс-компилировался на твоей машине. Rust тут как бы и не причём.
Я бы рекомендовал docker, билд контейнер. Есть cross, но он поддерживает сборку в windows-gnu, для msvc тебе нужно будет творчески переработать докерфайл. Я не знаю, как это сделать, но исполняемые файлы, зависящие от msvc либ под вайном работают. Я могу завтра поковыряться, мне нужно тоже в макоси собирать бинарник для windows x86. Можем установить сотрудничество и обмениваться идеями, которые заработали, либо время от времени рассказывай здесь, как там прогресс. В моём случае дело осложняется ещё нативными зависимостями, в частности SDL2, SDL2_mixer и asio.
В вайне же msvc то ли свои переписанные, то ли стандартные ставятся
Хочу заметить, что когда я ковырял кросс-компиляцию на линуксе где-то в январе-феврале, то там был поломан раст для target=i686-pc-windows-gnu . Магически лечится установкой свойства panic в abort. (Хотя смена поведения паник может не подходить под некоторые проекты, будьте внимательны). Т.е. вот такой конфиг как на скриншоте у меня - рабочий. Да и в целом, по опыту граблей, я бы всё-таки пробовал сначала создать кросскомпиляцию под amd64 как более распространённую и отточенную платформу, а потом уже на x86 будет перенести несложно.
Обсуждают сегодня