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

时间:2015-04-10 08:41:30

标签: c++ windows visual-studio-2010 qt libsodium

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

  

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

这是我的项目:

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位)
libsodium:https://download.libsodium.org/libsodium/releases/libsodium-1.0.2-msvc.zip

1 个答案:

答案 0 :(得分:1)

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

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

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

#ifdef __cplusplus
extern "C"{
#endif

#include <sodium.h>

#ifdef __cplusplus
}