使用libsodium构建一个简单的项目

Build a simple project using libsodium

本文关键字:一个 简单 项目 libsodium 构建 使用      更新时间:2023-10-16

我创建了一个使用libsodium的非常简单的Qt项目。(我可以创建一个相同的项目,并使用Visual Studio 2010/2013进行良好的构建。)但Qt Creator无法构建:

main.obj:-1:错误:LNK2019:未解析的外部符号sodium_init在功能主中引用

这是我的项目:

testSodium.pro:

QT       += core
QT       -= gui
TARGET = testSodium
CONFIG   += console
CONFIG   -= app_bundle
TEMPLATE = app
DEFINES += SODIUM_STATIC
INCLUDEPATH += F:/libsodium-1.0.2-msvc/include
LIBS += -LF:/libsodium-1.0.2-msvc/Win32/Release/v120/static/ -llibsodium
SOURCES += main.cpp

main.cpp:

#include <sodium.h>
int main(int argc, char *argv[])
{
  if (sodium_init() == -1) {
    return 1;
  }
}

有人能帮我吗?

(我使用的是Qt Creator 3.3.1,Qt 5.4.1 MSVC 2010 32位)
利钠:https://download.libsodium.org/libsodium/releases/libsodium-1.0.2-msvc.zip

事实上,libsodium是一个用纯C编写的库。

这意味着,如果要将其导入C++项目,则必须添加一个extern "C"标识符。

所以你应该包括这样的头文件:

#ifdef __cplusplus
extern "C"{
#endif
#include <sodium.h>
#ifdef __cplusplus
}
#endif
相关文章: