Cómo construir binarios de Bitcoin para Windows en Ubuntu usando compilación cruzada

Estoy tratando de construir Bitcoin 0.13 para Windows. Siempre he usado esta guía para construir versiones anteriores. Ahora parece que los desarrolladores han cambiado de opinión con respecto a Windows, y la nueva forma parece compilar de forma cruzada desde Ubuntu. He seguido paso a paso las nuevas instrucciones , pero no he podido construirlo. Parece que las instrucciones no son correctas o no están actualizadas. Esto es lo que he encontrado hasta ahora:

  • Archivo zconf.h no encontrado, resuelto manualmente copiándolo de /usr/include/x86_64-linux-gnuaprojectdir/depends/x86_64-w64-mingw32/include
  • [ sin resolver ] warning: undefined symbols not allowed in x86_64-w64-mingw32 shared libraries; building static onlyal compilar secp256k1 lib
  • [ sin resolver ] Intenté configurey makesecp256k1 manualmente antes de ejecutar la marca "principal" para resolver el problema anterior, pero luego aparece este error:/usr/bin/x86_64-w64-mingw32-ld: attempted static link of dynamic object secp256k1/.libs/libsecp256k1.so

Me quedé aquí, cualquier ayuda es apreciada. Además, también podría aceptar compilar en Windows (como antes) si es necesario, siempre que funcione. Gracias.

Los binarios de las versiones de Bitcoin Core se han compilado de forma cruzada desde siempre (era 0.3.x), aunque las compilaciones en Windows han sido y aún son posibles.
Muchas gracias por esta informacion. Entonces, ¿cómo resuelvo los errores anteriores?
El segundo error, "advertencia: símbolos no definidos" puede ser el carácter de fin de línea en el código. Por cierto, ¿cuál es la razón detrás del sistema operativo Windows? La velocidad de procesamiento sería más lenta...

Respuestas (1)

Al usar la solicitud de extracción y las instrucciones en https://github.com/bitcoin/bitcoin/pull/11526 , puede compilar Bitcoin Core, excepto los dos proyectos dependientes de Qt, con Visual Studio (o herramientas msbuild) en Windows.