我在 installation page 中阅读了 Windows 上的编译部分但还是很迷茫,希望高手赐教。
我从 here 下载了 LATEST.tar.gz
.
之后,我将 libsodium-1.0.12\src\libsodium\include
中的 sodium.h
和 sodium
文件夹复制到我的项目中.
这里是 the code :
#include <stdio.h>
#include "sodium.h"
#pragma warning (disable:4996)
void main()
{
char myString[32];
uint32_t myInt;
/* myString will be an array of 32 random bytes, not null-terminated */
randombytes_buf(myString, 32);
/* myInt will be a random number between 0 and 9 */
myInt = randombytes_uniform(10);
printf("%d", myInt);
system("pause");
}
我在编译时遇到了这些错误:
Error LNK1120 2 unresolved externals
Error LNK2019 unresolved external symbol __imp__randombytes_buf referenced in function _main
Error LNK2019 unresolved external symbol __imp__randombytes_uniform referenced in function _main
我没有收到“无法打开 sodium.h”之类的错误。
我该如何解决这个问题?
感谢任何帮助。
您的错误告诉您在链接 时出现问题 - 因此您的问题不在于包含 sodium.h
。有一个库未添加到您的项目中。您不能只将库复制到您的项目目录,您需要告诉 Visual Studio 将其链接进来。
我是一名优秀的程序员,十分优秀!