Я новичок в C ++, и у меня есть следующая проблема:
файлы:
— main.cpp
— utils.h
— utils.cpp
Когда я делаю:
g ++ -c -std = c ++ 11 utils.cpp (компилируется)
g ++ -c -std = c ++ 11 main.cpp (компилируется)
когда я пытаюсь связать:
g ++ -o main.o utils.o
/usr/lib/gcc/i686-redhat-linux/4.8.3/../../../crt1.o: в функции
_start':
главный’
(.text+0x18): undefined reference to
utils.o: в функцииclean_html(std::string const&)':
tidyCreate»
utils.cpp:(.text+0xfa): undefined reference to
utils.cpp :(. text + 0x118): неопределенная ссылка наtidyOptSetBool'
tidyOptSetBool»
utils.cpp:(.text+0x13b): undefined reference to
utils.cpp :(. text + 0x15e): неопределенная ссылка наtidyOptSetBool'
tidyOptSetBool»
utils.cpp:(.text+0x181): undefined reference to
utils.cpp :(. text + 0x1a4): неопределенная ссылка наtidyOptSetBool'
tidyOptSetValue»
utils.cpp:(.text+0x1c7): undefined reference to
utils.cpp :(. text + 0x1ea): неопределенная ссылка наtidyOptSetValue'
tidyOptSetBool»
utils.cpp:(.text+0x209): undefined reference to
utils.cpp :(. text + 0x228): неопределенная ссылка наtidyOptSetBool'
tidyOptSetInt»
utils.cpp:(.text+0x247): undefined reference to
utils.cpp :(. text + 0x281): неопределенная ссылка наtidyParseString'
tidyCleanAndRepair»
utils.cpp:(.text+0x295): undefined reference to
utils.cpp :(. text + 0x2b0): неопределенная ссылка наtidySaveBuffer'
tidyBufFree»
utils.cpp:(.text+0x322): undefined reference to
utils.cpp :(. text + 0x32d): неопределенная ссылка на `tidyRelease ‘
collect2: error: ld вернул 1 состояние выхода
В utils.cpp у меня есть функция clean_html. Когда я удаляю эту функцию, код связан с успехом.
Я использую gcc версии 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC).
Tidy устанавливается через репозитории fedora с использованием:
Пакет libtidy-devel-0.99.0-28.20091203.fc19.i686 уже установлен и последняя версия
Пакет libtidy-0.99.0-28.20091203.fc19.i686 уже установлен и последняя версия
Редактировать:
Забыл упомянуть:
— я включаю tidy.h используя
#включают
tidy.h находится по адресу /usr/include/tidy.h
Вам нужно добавить -ltidy
на вашу команду ссылки.