编译要在 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,那么就只能手动编译安装了。请参阅可能随库代码一起提供的文档、自述文件和安装文件,并按照其中描述的构建和安装过程进行操作。
我是一名学生,目前正在从事一个项目,以在 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,那么就只能手动编译安装了。请参阅可能随库代码一起提供的文档、自述文件和安装文件,并按照其中描述的构建和安装过程进行操作。