Проблема с компиляцией файлов .cc для использования в Intel Hyperscan - PullRequest
0 голосов
/ 30 октября 2018

Я студент, в настоящее время работающий над проектом по внедрению Intel Hyperscan для сканирования на наличие вирусов в Ubuntu 16.04.

В системе у меня есть gcc 5.4.0 и g ++ 5.4.0. Hyperscan использует CMake для «сборки» себя.

Успешно собрав Hyperscan, я не могу найти способ скомпилировать для него свой собственный код. Я также не смог найти «правильного» способа компиляции кода, предназначенного для Hyperscan, поэтому я предположил, что g ++ будет правильным. Я пытался,

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

только для того, чтобы выдать ошибку: hs.h: Нет такого файла или каталога Поэтому я использовал,

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

, чтобы получить еще одну ошибку: / usr / bin / ld: невозможно найти -lhs и collect2: ошибка: ld вернул 1 состояние выхода

На данный момент, я немного потерян и не могу продвинуться в своем проекте. Я неправильно использую g ++? Я неправильно построил Hyperscan? Любые советы или решения будут с благодарностью!

1 Ответ

0 голосов
/ 30 октября 2018

$ (pkg-config --cflags --libs libhs) работает только тогда, когда в системе установлены библиотека и связанные файлы разработки. Похоже, у вас есть исходный код библиотеки, поэтому сначала вам нужно собрать и установить саму библиотеку, а затем скомпилировать тестовую программу. Кроме того, библиотека может быть доступна в стандартных репозиториях, тогда вы, возможно, захотите установить ее, используя что-то вроде "sudo apt install libhs-dev", однако, если у вас есть исходный код конкретной версии, с которой вам нужно работать, или библиотека закрыта Исходный и непубличный, тогда единственный способ - это скомпилировать и установить его вручную. См. Документацию, файлы README, INSTALL, которые могут поставляться с библиотечным кодом, и следуйте описанным там процедурам сборки и установки.

...