openssl的链接错误(尝试SH1示例)
linker error with openssl (trying SH1 example)
我试图编译一个如何实现SHA1的例子,但我一直得到这个错误:
[Linker Error] Unresolved external '_SHA1' referenced from C:PROGRAM FILES (X86)BORLANDCBUILDER6PROJECTSUNIT1.OBJ
我从他们的网站下载了openssl文件,我试着把headers目录复制到我的项目目录,把它复制到我的包括目录,但没有。
下面是示例代码:
#include <string.h>
#include <openssl/sha.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
int i;
unsigned char ibuf[] = "compute sha1";
unsigned char obuf[20];
SHA1(ibuf, strlen(ibuf), obuf);
for (i = 0; i < 20; i++) {
printf("%02x ", obuf[i]);
}
printf("n");
return 0;
}x
p。S:我用的是Borland c++ Builder 6
您可以通过" add to project…"将OpenSSL .lib文件添加到您的项目中,或者使用#pragma comment
#pragma comment(lib, "ssl_lib_file_here.lib")
int main(int argc, char* argv[])
我从他们的网站下载了openssl文件,
和
…除了没有扩展名为'的文件。
在我下载的安装程序目录下安装
你需要使用Shining Light的Win32OpenSSL或自己构建OpenSSL。
如果你使用Shining Light的版本,那么一切都已经构建好了。虽然Thomas Hruska将Win32OpenSSL与OpenSSL版本保持同步,但我认为他没有提供任何与您正在使用的c++ Builder 6(大约2002年)版本兼容的东西。
如果你想从Win32平台上的源代码构建OpenSSL,那么请参见OpenSSL发行版根目录下的INSTALL.W32
和INSTALL.W64
。
我相信你还有第三种选择。这个选择就是获取一个现代的IDE。微软提供了Visual Studio的试用版(试用版的链接在页面的右侧)。Embarcadero还提供了c++ Builder XE5的免费试用版。
相关文章:
- 激励'inline'说明符的真实世界示例?
- 为什么示例代码访问IUnknown中已删除的内存
- 以下示例中如何避免代码复制?C++/库达
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 示例C++项目编译中的警告
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 为什么理解这个递归示例如此难以转化为直觉?
- Eventloop 卡住:NAO C++ SDK OnFaceDetection 示例
- 如何替换此示例代码片段中已弃用的handler_type_t或 boost::asio::handler_type?
- 适用于 WebView2 旧版本的示例应用程序
- 即使直接从官方示例中复制,也找不到未知类型名称QML_ELEMENT和 QML 模块
- 将数组/向量发送到 c++ 脚本的 cython 示例
- 了解提升执行器示例
- 请求最简单的 OpenMP 目标 GPU 示例
- 两种模板示例有什么区别?
- 有人可以在下面的示例 C++ 程序中解释字符数组 KCHAR1 的奇怪行为吗?
- Distirbute Candy - 查找问题的最小可重现示例
- openssl的链接错误(尝试SH1示例)