LZ4HC Проблема компиляции: LZ4_compressBound undefined - PullRequest
0 голосов
/ 26 октября 2018

Я пытался создать исполняемый файл для LZ4HC (я использовал исходный код с домашней страницы lz4), но когда я пытался выполнить файл, он отображал «Ошибка символа LZ4_compressBound undefined».Ни статическое связывание, ни динамическое связывание не работали.

gcc -shared -ggdb3 -fPIC -o lz4hc.h lz4hc.c

или

gcc -c lz4hc.c -o lz4hc.o
ar rcs lz4hc.a lz4hc.o

Почему символ LZ4_compressBound не определен после связывания?

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

LZ4_compressBound() определено в lz4.c.

В документации указано, что для использования / link lz4hc необходимо также lz4: https://github.com/lz4/lz4/tree/dev/lib#high-compression-variant

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

Ни статическое связывание, ни динамическое связывание не работали.

gcc -shared -ggdb3 -fPIC -o lz4hc.h lz4hc.c

Приведенная выше команда соответствует lz4hc.c в общей библиотеке с именем lz4hc.h.Это почти наверняка не , что вы хотели.

gcc -c lz4hc.c -o lz4hc.o
ar rcs lz4hc.a lz4hc.o

Эта команда выдает lz4hc.a (правильно), но не выполняйте никаких реальных ссылок.

Я предполагаю, что ваша фактическая команда ссылки выглядит примерно так: gcc lz4hc.a main.o, и в этом случае ваш вопрос является дубликатом этого (среди 100других дубликатов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...