未定义的对“SHA1”的引用
Undefined reference to `SHA1'
我在这里发帖是因为 Code::Blocks
有问题
我最近在 linux 中创建了一个可以正确编译和执行的项目。
现在我试图让它在 windows.
上运行
问题
感谢Code::Blocks,当我尝试编译时,我收到了错误:
C:\Users\PC\Desktop\Collector\verification.c
|44|对“SHA1”的未定义引用|
这是我的配置:
- 右键单击我的项目
- 然后"Build options"
在 "Linker setting" 我有:
-lws2_32进入"Other linker options".
在 "Search directories" 选项卡中,我得到了:
在 "Compiler" 中:
..\..\..\..\OpenSSL-Win64\include
对应于我的 Open SSL 安装的包含文件
In Linker : ..\..\..\..\OpenSSL-Win64\lib
对应Open SSL的lib
这里是编译出现问题的 C 代码的摘录:
bool checkVol(Index* index, unsigned char* vol, int id_vol) {
char outsha[40] = { 0 };
unsigned char outbuf[SHA_DIGEST_LENGTH];
SHA1(vol, sizeof(vol), outbuf);
hexToString(outbuf, outsha);
printf("%s\n", outsha);
printf("%s\n", index->sha[id_vol]);
if ( strcmp(outsha, index->sha[id_vol]) == 0 ) {
printf("Volume %i is the same.\n", id_vol);
return TRUE;
}
return FALSE;
}
我不知道下一步该怎么做才能使我的程序在 windows 上运行...
有人知道好配置吗?
感谢您的帮助。
PS : 抱歉我的英语可能不好 :x
我终于自己解决了这个问题。
修复:
首先我删除了 x64 版本
然后从 this link
安装 "Win32 OpenSSL v1.0.1L"
然后使用以下配置更新我的构建选项:
我在 "linker setting" 中添加了:来自
的 2 个“.a”
"C:\OpenSSL-Win32\lib\MinGW\"
通过输入更新 "Search directories":
"C:\OpenSSL-Win32\include"
在 "Compiler" 选项卡中。
希望这对其他人有帮助! :D
我在这里发帖是因为 Code::Blocks
有问题我最近在 linux 中创建了一个可以正确编译和执行的项目。 现在我试图让它在 windows.
上运行问题
感谢Code::Blocks,当我尝试编译时,我收到了错误: C:\Users\PC\Desktop\Collector\verification.c |44|对“SHA1”的未定义引用|
这是我的配置:
- 右键单击我的项目
- 然后"Build options"
在 "Linker setting" 我有: -lws2_32进入"Other linker options".
在 "Search directories" 选项卡中,我得到了:
在 "Compiler" 中:
..\..\..\..\OpenSSL-Win64\include
对应于我的 Open SSL 安装的包含文件
In Linker : ..\..\..\..\OpenSSL-Win64\lib
对应Open SSL的lib
这里是编译出现问题的 C 代码的摘录:
bool checkVol(Index* index, unsigned char* vol, int id_vol) {
char outsha[40] = { 0 };
unsigned char outbuf[SHA_DIGEST_LENGTH];
SHA1(vol, sizeof(vol), outbuf);
hexToString(outbuf, outsha);
printf("%s\n", outsha);
printf("%s\n", index->sha[id_vol]);
if ( strcmp(outsha, index->sha[id_vol]) == 0 ) {
printf("Volume %i is the same.\n", id_vol);
return TRUE;
}
return FALSE;
}
我不知道下一步该怎么做才能使我的程序在 windows 上运行... 有人知道好配置吗?
感谢您的帮助。
PS : 抱歉我的英语可能不好 :x
我终于自己解决了这个问题。
修复:
首先我删除了 x64 版本 然后从 this link
安装 "Win32 OpenSSL v1.0.1L"然后使用以下配置更新我的构建选项:
我在 "linker setting" 中添加了:来自
的 2 个“.a”"C:\OpenSSL-Win32\lib\MinGW\"
通过输入更新 "Search directories":
"C:\OpenSSL-Win32\include"
在 "Compiler" 选项卡中。
希望这对其他人有帮助! :D