繁体   English   中英

无法将C ++项目与openssl静态库链接

[英]Can't link C++ project with openssl static libraries

我已经在C ++上完成了一些项目,并且需要针对Windows XP和更高版本进行编译。

这是我的RsaEncryptor类的头文件(我认为在这里发布源代码都无所谓,因为我确定100%都可以正常工作,但是如果需要的话,我可以这样做):

#ifndef RSAENCRYPTOR_H_
#define RSAENCRYPTOR_H_

#include <stdexcept>
#include <openssl/rsa.h>
#include <openssl/engine.h>
#include <openssl/pem.h>

// One of this paddings can be used
//#define PADDING RSA_PKCS1_OAEP_PADDING
#define PADDING RSA_PKCS1_PADDING
//#define PADDING RSA_NO_PADDING

class RsaEncryptor {

private:

    RSA* publicKey;
    RSA* privateKey;

public:

    RsaEncryptor() {
        publicKey = nullptr;
        privateKey = nullptr;
    }

    ~RsaEncryptor() {
        if ( this->publicKey )
            RSA_free( this->publicKey );
        if ( this->privateKey )
            RSA_free( this->privateKey );
    }

    size_t GetCipherBytesCount() {
        return 172; //is default for 1024 bit key length
    }

    void SetPublicKeyFromString(const std::string& content);
    void SetPrivateKeyFromString(const std::string& content);

    std::string Encrypt(const std::string& plainData);
    std::string Decrypt(const std::string& cipherData);

};


#endif /* RSAENCRYPTOR_H_ */

我在Windows 10 x64计算机上使用最新版本的Eclipse Neon进行C ++开发。

我也读过这个

(...)在为Windows XP或Vista构建OpenSSL 1.1.0及更高版本时,您将需要配置no-async

并且我按照以下说明进行了指导。

我做了什么:

  1. Windows 10 x64下的Virtual Box中安装Ubuntu 17.04 x64 Windows 10 x64

  2. Ubuntu下载最新版本的OpenSSL库

  3. 安装mxe和所有要求(但无法编译,因此我决定使用mingw32

  4. 通过root@user-pc:/home/user# apt-get install gcc-mingw-w64-i686安装mingw32 root@user-pc:/home/user# apt-get install gcc-mingw-w64-i686

  5. /home/user/openssl-x32解压缩OpenSSL库

  6. 转到/home/user/openssl-x32

  7. 运行./Configure mingw --cross-compile-prefix=i686-w64-mingw32 --prefix=/home/user/builds/openssl-x32-static no-shared no-async

  8. 运行make

  9. 运行make install

  10. libssl.alibcrypto.a/home/user/builds/openssl-x32-static/lib复制到主机( Windows 10 x64 )到文件夹E:\\MyProjects\\my-app\\libraries\\

  11. Ubuntu复制include目录到文件夹E:\\MyProjects\\my-app\\include主机

  12. libraries文件夹添加到链接器配置

  13. include文件夹添加到编译器配置

  14. 然后,我建立我的专案并得到以下答案:

11:58:09 ****重建项目应用程序的配置调试****信息:配置“ Debug”使用此系统不支持的工具链“ MinGW GCC”,无论如何尝试进行构建。 信息:Internal Builder用于构建g ++“ -IC:\\ MyProjects \\ my-app \\ include” -O0 -g3 -Wall -c -std = c ++ 11 -m32 -o RsaEncryptor.o“ .. \\ RsaEncryptor。 cpp“ g ++” -IC:\\ MyProjects \\ my-app \\ include“ -O0 -g3 -Wall -c -std = c ++ 11 -m32 -o main.o” .. \\ main.cpp“从.. \\ main.cpp:5:0:.. \\ FilesFinder.h:在成员函数'void FilesFinder :: FindRecursively(const string&,const FilesFilter&)':.. \\ FilesFinder.h:90:56:警告:比较有符号和无符号整数表达式[-Wsign-compare]之间,而(destinationContainer.GetElementsCount()> = MAX_ELEMENTS_COUNT){^ g ++“ -IC:\\ MyProjects \\ my-app \\ include” -O0 -g3 -Wall -c -std = c ++ 11 -m32 -o aes256.o“ .. \\ aes256.cpp” g ++“ -LC:\\ MyProjects \\ my-app \\ libraries” -static-libgcc -static-libstdc ++ -static -lpthread -m32 -o C :/ MyProjects / my-app / bin / Debug / app RsaEncryptor.o aes256.o main.o -lssl -lcrypto -lgdi32 C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_addr.o):b_addr。 c :(。text + 0xaa):对_imp__getnameinfo@28' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0xe0): undefined reference to未定义引用_imp__getnameinfo@28' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0xe0): undefined reference to _imp__getnameinfo@28' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0xe0): undefined reference to _imp__ntohs @ 4'的_imp__getnameinfo@28' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0xe0): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_addr.o) :b_addr.c :(。text + 0x242):未定义对gai_strerrorW' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0x820): undefined reference to引用gai_strerrorW' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0x820): undefined reference to _imp__freeaddrinfo @ 4'C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_addr.o):b_addr.c :(。text + 0xb5d):对_imp__getaddrinfo@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0xba2): undefined reference to未定义引用_imp__getaddrinfo@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0xba2): undefined reference to gai_strerror的_imp__getaddrinfo@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_addr.o):b_addr.c:(.text+0xba2): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o):b_sock .c :(。text + 0xd7):对_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xe8): undefined reference to未定义引用_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xe8): undefined reference to _imp__WSAGetLastError @ 0'C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o):b_sock.c :(。text + 0x2c7):对_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x2d8): undefined reference to未定义引用_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x2d8): undefined reference to _imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x2d8): undefined reference to _imp__WSAGetLastError @ 0'的_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x2d8): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o):b_sock.c :(。text + 0x3b1):对_imp__ntohs@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x40c): undefined reference to未定义引用_imp__ntohs@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x40c): undefined reference to _imp__getsockopt @ 20'的_imp__ntohs@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x40c): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto .a(b_sock.o):b_sock.c :(。text + 0x423):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x43c): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x43c): undefined reference to _imp__gethostbyname @ 4'的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x43c): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o):b_sock.c :(。text + 0x48b):对_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x4a2): undefined reference to未定义引用_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x4a2): undefined reference to _imp__WSAGetLastError @ 0的_imp__WSAStartup@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x4a2): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o):b_sock.c :(。text + 0x52c):对_imp__WSACleanup@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x54d): undefined reference to未定义引用_imp__WSACleanup@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x54d): undefined reference to _imp__WSACleanup@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x54d): undefined reference to _imp__ioctlsocket @ 12' C:\\ MyProjects下\\我的应用内\\库\\ libcrypto.a(b_sock.o):b_sock.c :(文本+ 0x563):未定义参照_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x6b7): undefined reference to _imp__WSAStartup @ 8'的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x6b7): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o ):b_sock.c :(。text + 0x6c8):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x942): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x942): undefined reference to _imp__WSAGetLastError @ 0'的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0x942): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o):b_sock.c :(。text + 0x9dc):对_imp__setsockopt@20' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xa15): undefined reference to未定义引用_imp__setsockopt@20' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xa15): undefined reference to _imp__ioctlsocket @ 12'的_imp__setsockopt@20' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xa15): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock .o):b_sock.c :(。text + 0xa32):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xaa6): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xaa6): undefined reference to _imp__ge的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock.o):b_sock.c:(.text+0xaa6): undefined reference to tsockname @ 12'C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock.o):b_sock.c :(。text + 0xb22):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x27): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x27): undefined reference to _imp__socket @ 12'C的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x27): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o): b_sock2.c :(。text + 0x4e):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x120): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x120): undefined reference to _imp__setsockopt @ 20'的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x120): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :(。text + 0x15b):对_imp__connect@12' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x1f5): undefined reference to未定义引用_imp__connect@12' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x1f5): undefined reference to _imp__setsockopt @ 20'的_imp__connect@12' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x1f5): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o ):b_sock2.c :(。text + 0x206):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x265): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x265): undefined reference to _imp__WSAGetLastError @的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x265): undefined reference to 0'C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :(。text + 0x2c6):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x377): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x377): undefined reference to _imp__getsockopt @ _imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x377): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2。 c :(。text + 0x38f):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x4a7): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x4a7): undefined reference to _imp__setsockopt @ 20'C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :(。text + 0x4b4):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x53a): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x53a): undefined reference to _imp__bind @ _imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x53a): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o): b_sock2.c :(。text + 0x55f):对_imp__listen@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x5a5): undefined reference to未定义引用_imp__listen@8' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x5a5): undefined reference to _imp__setsockopt @ 20'C:\\ MyProject s \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :(。text + 0x5b6):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x63a): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x63a): undefined reference to _imp__setsockopt @ 20'的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x63a): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :(。text + 0x64b):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x6b2): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x6b2): undefined reference to _imp__WSAGetLastError @ 0'的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x6b2): undefined reference to :\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :(。text + 0x713):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x7a6): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x7a6): undefined reference to _imp__accept @ 12'的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x7a6): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :( .text + 0x7e7):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x84b): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x84b): undefined reference to _imp__closesocket @ 4的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(b_sock2.o):b_sock2.c:(.text+0x84b): undefined reference to的C:\\ MyProject s \\ my-app \\ libraries \\ libcrypto.a(b_sock2.o):b_sock2.c :(。text + 0x86c):对_imp__closesocket@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x1b1): undefined reference to未定义引用_imp__closesocket@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x1b1): undefined reference to _imp__WSASetLastError @ 4'的_imp__closesocket@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x1b1): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(bss_sock.o):bss_sock.c :(。text + 0x1d0):对_imp__send@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x20a): undefined reference to未定义引用_imp__send@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x20a): undefined reference to _imp__WSAGetLastError @ 0'的_imp__send@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x20a): undefined reference to :\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(bss_sock.o):bss_sock.c :(。text + 0x272):对_imp__WSASetLastError@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x299): undefined reference to未定义引用_imp__WSASetLastError@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x299): undefined reference to _imp__send @ 16'的_imp__WSASetLastError@4' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x299): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(bss_sock.o):bss_sock.c :( .text + 0x2ca):对_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x33d): undefined reference to未定义引用_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x33d): undefined reference to _imp__WSASetLastError @ 4的_imp__WSAGetLastError@0' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x33d): undefined reference to的C:\\ MyP rojects \\ my-app \\ libraries \\ libcrypto.a(bss_sock.o):bss_sock.c :(。text + 0x360):对_imp__recv@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x39a): undefined reference to 16'C的未定义引用_imp__recv@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x39a): undefined reference to _imp__WSAGetLastError @ 0'的_imp__recv@16' C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o):bss_sock.c:(.text+0x39a): undefined reference to C:\\ MyProjects \\ my-app \\ libraries \\ libcrypto.a(bss_sock.o):bss_sock.c :(。text + 0x457):对_imp__WSAGetLastError@0' c:/programs/mingw_w64_mingw32_gcc_stdthread_win32/bin/../lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/bin/ld.exe: C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o): bad reloc address 0x24 in section未定义引用_imp__WSAGetLastError@0' c:/programs/mingw_w64_mingw32_gcc_stdthread_win32/bin/../lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/bin/ld.exe: C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o): bad reloc address 0x24 in section :/ programs / mingw_w64_mingw32_gcc_stdthread_win32 / bin /中的_imp__WSAGetLastError@0' c:/programs/mingw_w64_mingw32_gcc_stdthread_win32/bin/../lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/bin/ld.exe: C:\\MyProjects\\my-app\\libraries\\libcrypto.a(bss_sock.o): bad reloc address 0x24 in section 。 ./lib/gcc/i686-w64-mingw32/4.8.1/../../../../i686-w64-mingw32/bin/ld.exe:最终链接失败:无效的操作collect2.exe:错误:ld返回1退出状态

11:58:21构建完成(花费11s.567ms)

我只需要将我完成的C ++项目与正确编译的OpenSSL库(带有标志no-async )链接在一起,即可使其在Windows的旧版本下工作。

我很乐意在此问题上获得任何帮助。

错误日志中的大多数(如果不是全部)未定义符号都来自Winsock。 尝试与-lws2_32链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM