![](/img/trans.png)
[英]I can't link my Visual Studio 2010 project with Poco C++ libraries
[英]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
并且我按照以下说明进行了指导。
我做了什么:
在Windows 10 x64
下的Virtual Box中安装Ubuntu 17.04 x64
Windows 10 x64
。
从Ubuntu
下载最新版本的OpenSSL库
安装mxe和所有要求(但无法编译,因此我决定使用mingw32
)
通过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
在/home/user/openssl-x32
解压缩OpenSSL库
转到/home/user/openssl-x32
运行./Configure mingw --cross-compile-prefix=i686-w64-mingw32 --prefix=/home/user/builds/openssl-x32-static no-shared no-async
运行make
运行make install
将libssl.a
和libcrypto.a
从/home/user/builds/openssl-x32-static/lib
复制到主机( Windows 10 x64
)到文件夹E:\\MyProjects\\my-app\\libraries\\
从Ubuntu
复制include
目录到文件夹E:\\MyProjects\\my-app\\include
主机
将libraries
文件夹添加到链接器配置
将include
文件夹添加到编译器配置
然后,我建立我的专案并得到以下答案:
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.