错误LNK2019:未解析的外部符号_soap_ssl_init
error LNK2019: unresolved external symbol _soap_ssl_init
我使用gsoap来调用wcf web服务。我的要求说我必须使用ssl协议来保护通信。我读了一篇文章作为ssl配置的参考。
但在编译时,我得到以下错误:
下面是我的代码:错误1错误LNK2019:未解析的外部符号_soap_ssl_init引用函数"public: int __thiscall LogServicesFacade::SendFileToServer(char const *)"路径(? SendFileToServer@LogServicesFacade@@QAEHPBD@Z) E: Solution.Project LogServicesFacade。obj的解决方案。项目
_ns1__StoreEventFileResponse response;
_ns1__StoreEventFile input;
struct soap *soap = soap_new();
/*if (!sslInitiated)
{*/
soap_ssl_init();
//if (soap_ssl_client_context(soap, SOAP_SSL_DEFAULT, NULL, NULL,
//"C:\Path\To\Certs\File\cacerts.pem", NULL, NULL))
//{
soap_print_fault(soap, stderr);
//}
//}
我注释了另一个ssl函数来减少错误,以简化。
更新1
值得一提的是,我使用的是VS 2013。所以我使用Visual c++作为我的编译器。我还看到了gSOAP ssl文档。作者说我必须添加选项DWITH_OPENSSL
编译器。我如何将此添加到VC编译器?
正如在代码项目文章中所说,我使用以下步骤减轻了错误:
右键单击项目并从右键菜单中选择Properties。在"配置属性"、"C/c++"answers"通用"下添加包括gSOAP和Open SSL的路径。单击Apply。
在配置属性,C/c++和预处理器下,添加"WITH_OPENSSL"(在gSOAP中启用SSL)和"DEBUG"(启用SSL)日志记录)到预处理器定义列表。单击Apply。
在Configuration Properties, Linker和General下,添加Open SSL二进制目录的路径,其中包含编译的lib文件驻留到其他库目录。单击Apply。
- 在配置属性,链接器和输入下,添加"libeay32"。Lib"answers"ssleay32"。lib"到附加依赖项。这些
是Open SSL库。单击Apply。
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 将无符号char*转换为std::istream*C++
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- vscode g++链路故障:体系结构x86_64的未定义符号
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 使用gcc从静态链接的文件中查找可选符号
- C++中无符号字符溢出
- 使用无符号字符数组有效存储内存
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- VC++本机单元测试,找不到调试符号
- 为什么我必须在C++中添加一个赋值符号来声明一个数组
- 检查TCHAR数组输入是否为带符号整数C++
- 用符号版本替换对函数的所有调用
- 未解析的外部符号_MsiLocateComponentW@12.
- 如何打印boost多精度128位无符号整数
- C++模板函数,用于比较任何无符号整数和有符号整数
- 在 Mac 上使用 CMAKE 将 FFTW 和 FFTWPP 链接到项目中时未定义的符号