Компиляция примера Openzwave
Я успешно установил Open-zwave на мою систему Ubuntu с помощью sudo make и sudo make install. После этого я хотел скомпилировать пример в этом пакете (зайти в cpp/example и сделал "make"), но после этого он показал мне много функций, которые он не нашел. Это находится в заголовочных файлах. Заголовочные файлы включены в основной файл, и я ничего не изменил с помощью make-файла, который был создан автоматически. Была ли у кого-то такая же проблема? Вот пример ошибок:
/home/ubuntu/OPENZWAVE/install/open-zwave-master/cpp/examples/MinOZW/.lib/Main.o: в функции main':
Main.cpp:(.text.startup+0x7a): undefined reference to
OpenZWave::Manager::getVersionAsString()'
Main.cpp:(. Text.startup+0x108): неопределенная ссылка на `OpenZWave::Options::Create(std::string const&, std::string const&, std:: строка const&)'
И многие из этих пропущенных функций находятся в заголовке (который компилятор находит...)
Я компилирую пример с помощью eclipse и через терминал... это то же самое.
Я надеюсь, что Сомоне может помочь. Я не так много понимаю из написания моего собственного Makefile. Если это необходимо, я могу скопировать сгенерированный make-файл здесь. Спасибо за вашу помощь.
1 ответ
IIRC, getVersionAsString() - недавно добавленная статическая функция. Скорее всего, в вашей системе установлена более старая версия OpenZWave, и компиляция не удалась, поскольку она загружает оттуда файлы заголовков.
Ты побежал sudo make install
после успешного make
? Это должно заменить старую установку OpenZWave на новую.