编译要在 Intel Hyperscan 中使用的 .cc 文件时出现问题

Trouble with compiling .cc files to be used in Intel Hyperscan

我是一名学生,目前正在从事一个项目,以在 Ubuntu 16.04 上实施用于病毒签名扫描的 Intel Hyperscan。

在系统上,我有 gcc 5.4.0 和 g++ 5.4.0。 Hyperscan 使用 CMake 来 "build" 本身。

在成功构建 Hyperscan 之后,我似乎无法找到一种方法来为它编译我自己的代码。我也找不到任何 "proper" 编译用于 Hyperscan 在线代码的方法,因此我认为 g++ 是正确的。我试过了,

g++ -o -std=c++11 test test.cc $(pkg-config --cflags --libs libhs)

only for it to give the error: hs.h: No such file or directory Hence I used,

g++ -o -std=c++11 test test.cc -I../hyperscan/src $(pkg-config --cflags --libs libhs)

to get another error: /usr/bin/ld: cannot find -lhs and collect2: error: ld returned 1 exit status

在这一点上,我有点迷茫,无法真正推进我的项目。我错误地使用了 g++ 吗?我是否错误地构建了 Hyperscan?任何提示或解决方案将不胜感激!

$(pkg-config --cflags --libs libhs) 仅在系统上安装了库和相关开发文件时有效。看起来你有库的源代码,所以首先你需要构建和安装库本身,然后才编译你的测试程序。 此外,库可能在标准存储库中可用,那么您可能想使用类似 "sudo apt install libhs-dev" 的方式安装它,但是,如果您有需要使用的特定版本的源代码,或者库是封闭源代码且非-public,那么就只能手动编译安装了。请参阅可能随库代码一起提供的文档、自述文件和安装文件,并按照其中描述的构建和安装过程进行操作。