使用libsodium构建一个简单的项目
Build a simple project using libsodium
我创建了一个使用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
相关文章:
- 在c++中用vector填充一个简单的动态数组
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- 为什么一个简单的程序不能立即启动
- C++ - 在我尝试制作一个简单的计算器时有一个"uninitialized local variable y used"警告
- 为什么 MSVC C++编译器将一个简单的 Hello World 扩展为 4000 行汇编?
- 我写了一个简单的矢量程序,在其中我得到了以下输出。你能帮我理解它的输出吗?
- 如何使用 c++ 在命令行中创建一个简单的字符控制器?
- 对于 ~95% 写入/5% 读取线程安全的无序列图,有没有一个简单的解决方案?
- 在C++中创建一个简单的数据包路由器,如何跟踪"客户端"?
- 创建一个简单的前向迭代器,该迭代器在循环缓冲区的"end"处自动换行
- 我已经安装了用于c++编程的升华3,但在编写了一个简单的程序后,我遇到了以下错误
- 如何设置一个简单的CGAL+Qt程序
- 如何在一个简单的C++项目中使用Poco库
- 我创建了一个简单的程序,但有些地方不对劲
- Qt的新信号/时隙语法问题 - 连接到一个简单的函数
- 一个简单的 win32 多线程代码.这能行吗?
- 我正在尝试构建一个简单的程序来从 mysql 数据库中读取信息
- 创建一个简单的计算器,添加时遇到问题
- 我正在编写一个简单的客户端套接字应用程序,但在连接后服务器收到一个空缓冲区
- 为什么一个简单的"Hello World"风格的程序不能用Turbo C++编译?