Неопределенная ссылка на функции cmph даже после установки библиотеки cpmh - PullRequest
0 голосов
/ 01 марта 2012

Я использую gcc 4.4.3 в Ubuntu.Я установил инструменты библиотеки cmph 0.9-1 с помощью команды

sudo apt-get install libcmph-tools

Теперь, когда я попытался скомпилировать пример программы vector_adapter_ex1.c, gcc может обнаружить cmph.Библиотека h в своем включаемом файле, но показывает несколько ошибок, таких как

vector_adapter_ex1.c :(. text + 0x93): неопределенная ссылка на cmph_io_vector_adapter' vector_adapter_ex1.c:(.text+0xa3): undefined reference to cmph_config_new 'vector_adapter_ex1.c :(. text + 0xbb): неопределенная ссылкаcmph_config_set_algo' vector_adapter_ex1.c:(.text+0xcf): undefined reference to cmph_config_set_mphf_fd '

, хотя все они определены в исходном коде библиотеки cmph.

Может ли кто-нибудь сообщить об ошибке, которая могла произойти, или предложить альтернативный метод для переходао построении минимальных совершенных хеш-функций.

Ответы [ 3 ]

0 голосов
/ 10 июня 2012

Вы можете сделать gcc $(pkg-config --libs cmph) vector_adapter_ex1.c при условии, что библиотека установлена.Это свяжет вас правильно.

0 голосов
/ 07 января 2017

Вы должны связать библиотеку cmph во время компиляции.gcc <file name> -lcmph свяжет библиотеку cmph.Кроме того, вы можете указать каталог для поиска библиотеки, используя опцию -L.

0 голосов
/ 10 апреля 2012

Это может звучать неубедительно, но вы связались с libcmph.la?

...