我已经使用Windows mingw成功编译了openssl库。然后将其与我的应用程序链接,但是由于未解析的符号而失败_imp__shutdown
。该nm
通知的对象文件确实引用符号。
如何找出应该添加哪个库ld
来解决这种依赖性?是否有针对此类情况的标准程序?
连结:
> g++ -static -Wl,--allow-multiple-definition -mthreads -Wl,-subsystem,windows ... -lws2_32 -lshlwapi ... -lssl -lcrypto ...
C:/openssl-1.0.1g-mgw\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x90): undefined reference to `_imp__shutdown@8'
C:/openssl-1.0.1g-mgw\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x1a0): undefined reference to `_imp__shutdown@8'
c:/MinGW/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: C:/openssl-1.0.1g-mgw\libcrypto.a(bss_sock.o): bad reloc address 0x4 in section `.data'
collect2.exe: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
未解决的符号:
> nm /c/openssl-1.0.1g-mgw/crypto/bio/bss_sock.o
...
U __imp__closesocket@4
U __imp__recv@16
U __imp__send@16
U __imp__shutdown@8
U __imp__WSAGetLastError@0
U __imp__WSASetLastError@4
...
Run Code Online (Sandbox Code Playgroud)
GCC / Windows 7 x64:
> g++ --version
g++.exe (i686-posix-dwarf-rev3, Built by MinGW-W64 project) 4.8.2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
880 次 |
最近记录: |