OpenWall bcrypt库集成

时间:2019-01-04 13:59:24

标签: c bcrypt

在Linux和Windows上,在我的项目中集成OpenWall bcrypt库时遇到问题。

这就是我所做的:

  1. https://www.openwall.com/crypt下载了图书馆
  2. 执行makefile生成.o文件
  3. 将文件包含在我的编译命令行中(请参见下面的bash文件)
  4. 在我的源代码中添加了#include“ ow-crypt.h”
  5. 试图使用crypt_gensalt函数
  6. 出现链接错误

我的bash文件用于编译:

project_root=/home/ubuntu/lamodal-dev

lws_lib_dir_path=/usr/local/lib
libxml_include_dir_path=/usr/include/libxml2
lws_lib_name=websockets
libxml_lib_name=xml2
sqlite3_lib_name=sqlite3

debug_compile_flags="\
-g \
-Wall \
-Wno-unused-variable \
-Wno-unused-but-set-variable \
-Wno-unused-result"

g++ -pthread -std=c++11 $debug_compile_flags \
-I$libxml_include_dir_path \
-L$lws_lib_dir_path \
$project_root/code/third/openwall/bcrypt/crypt_blowfish.o \
$project_root/code/third/openwall/bcrypt/crypt_gensalt.o \
$project_root/code/third/openwall/bcrypt/wrapper.o \
$project_root/code/third/openwall/bcrypt/x86.o \
../../code/lamodal-dev.cpp \
-l$lws_lib_name \
-l$libxml_lib_name \
-l$sqlite3_lib_name \
-lcrypt \
-o ../../bin/linux/lamodal-dev.run

输出:

undefined reference to `crypt_gensalt(char const*, unsigned long, char const*, int)'

我不应该链接的东西是什么?

0 个答案:

没有答案