2009-08-05 73 views
1

我正在嘗試從Ubuntu爲Windows編譯oauth-utils http://mir.dnsalias.com/oss/oauth/start 。我在 (幾個月前)之前在Windows上編譯過它,但是想嘗試交叉編譯。使用OpenSSL for Windows進行交叉編譯

我得到了openssl使用mingw32編譯好,並把 libssl.a和libcrypto.a放在正確的位置。鏈接器現在 找到庫(耶!),但我得到以下錯誤:

/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]' 

任何想法可能是造成這個?

謝謝。

回答

1

看來,如果一個去除一切

#endif /* !OPENSSL_SYS_WINCE */ 
} 
在rand_win.c

之間

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

,所有建築工程。我不是100%確定刪除它是多麼安全。

1

您是否將-mwindows添加到您的鏈接命令中?

4

Link with Gdi32.lib

+0

這個固定鏈接到我在明治openssl! rand_win.c中不需要改變任何東西,這是當前接受的答案。 – Daverix 2012-11-08 12:28:28

+0

謝謝!還使用libcrypto和cocotron中的CommonCrypto框架修復了類似的鏈接錯誤 – xverges 2013-05-21 16:15:03