Как собрать двоичные файлы биткойнов для Windows на Ubuntu с помощью кросс-компиляции

Я пытаюсь собрать биткойн 0.13 для Windows. Я всегда использовал это руководство для сборки предыдущих версий. Теперь кажется, что разработчики изменили свое мнение о Windows, и новый способ кросс-компиляции выглядит из Ubuntu. Я следовал шаг за шагом новым инструкциям , но мне не удалось его построить. Похоже, что инструкции либо неверны, либо устарели. Вот что я нашел до сих пор:

  • Файл zconf.h не найден, решил вручную скопировать его из /usr/include/x86_64-linux-gnuвprojectdir/depends/x86_64-w64-mingw32/include
  • [ нерешено ] warning: undefined symbols not allowed in x86_64-w64-mingw32 shared libraries; building static onlyпри компиляции библиотеки secp256k1
  • [ нерешено ] Я пытался configureи makesecp256k1 вручную перед запуском «основной» сборки для решения предыдущей проблемы, но затем я получаю эту ошибку:/usr/bin/x86_64-w64-mingw32-ld: attempted static link of dynamic object secp256k1/.libs/libsecp256k1.so

Я застрял здесь, любая помощь приветствуется. Кроме того, я также мог бы согласиться на сборку на Windows (как и раньше), если это необходимо, пока это работает. Спасибо.

Двоичные файлы выпусков Bitcoin Core подвергались кросс-компиляции с незапамятных времен (эра 0.3.x), хотя сборки для Windows были и остаются возможными.
Большое спасибо за эту информацию. Итак, как мне решить вышеуказанные ошибки?
Вторая ошибка, «предупреждение: неопределенные символы», может быть символом конца строки в коде. Кстати, в чем причина в ОС Windows? Скорость обработки будет меньше...

Ответы (1)

Используя запрос на вытягивание и инструкции на https://github.com/bitcoin/bitcoin/pull/11526 , вы можете собрать Bitcoin Core, за исключением двух проектов, зависящих от Qt, с помощью Visual Studio (или инструментов msbuild) в Windows.