2009-08-05 16 views
1

J'essaye de compiler les oauth-utils http://mir.dnsalias.com/oss/oauth/start pour Windows d'Ubuntu. Je l'ai compilé sur Windows avant (il y a quelques mois), mais je voulais essayer la compilation croisée.Compilation croisée avec OpenSSL pour Windows

J'ai obtenu openssl build en utilisant mingw32 ok, et j'ai mis libssl.a et libcrypto.a au bon endroit. L'éditeur de liens est maintenant trouver les bibliothèques (youpi!) Mais je reçois l'erreur suivante:

/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xaac): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xab9): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xacc): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xadc): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xaf4): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xb04): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xb18): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xb81): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xb8c): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xbe5): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xbec): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xbf6): undefined reference to `[email protected]' 
/usr/lib/gcc/i586-mingw32msvc/4.2.1-sjlj/../../../../i586-mingw32msvc/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xc00): undefined reference to `[email protected]' 

Toutes les idées ce qui pourrait être la cause?

Merci.

Répondre

1

Il semble que si l'on supprime ce qui entre

static void readscreen(void) 
{ 
#if !defined(OPENSSL_SYS_WINCE) && !defined(OPENSSL_SYS_WIN32_CYGWIN) 

et

#endif /* !OPENSSL_SYS_WINCE */ 
} 

dans rand_win.c, ce bâtiment fonctionne. Je ne suis pas sûr à 100% à quel point cela est sûr.

1

Ajoutez -mwindows à votre commande de lien?

4

Lien avec Gdi32.lib

+0

Ce lien fixe à openssl pour moi dans MINGW! Pas besoin de changer quoi que ce soit dans rand_win.c qui est la réponse acceptée actuellement. – Daverix

+0

Merci! Correction d'erreurs de liaison similaires en utilisant libcrypto et le framework CommonCrypto dans cocotron – xverges

2

Quelle version de OpenSSL vous essayez de compiler? En général, j'ai trouvé la version 1.0 et plus récente avec MinGW-w64 pour fonctionner très bien. Voir par exemple le tutoriel OpenSSL cross-compilation for Windows.