Xcode 8 — неопределенные символы для архитектуры x86_64: & quot; liblas :: Reader ….. & quot;

В настоящее время я работаю над проектом C ++ с использованием Xcode 8, и я получаю эту ошибку:

Undefined symbols for architecture x86_64:
"liblas::Reader::Reader(std::__1::basic_istream<char, std::__1::char_traits<char> >&)", referenced from:
_main in main.o
"liblas::Reader::~Reader()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я скомпилировал boost, liblas и т. Д. Он также включен в мой файл cmakelists.txt, и папка, в которую он включен, указана в разделе «Пути поиска в фреймворке», а также в «Пути поиска по заголовкам». Мой компилятор по умолчанию для Xcode 8 Apple LLVM 8.0. Моя цель развертывания — 10.11. Допустимые архитектуры: x86_64 и i386.

Вот код, который пытается использовать libLAS (file.las содержит жестко заданный путь к моему las-файлу). Этот код был извлечен непосредственно из учебника по libLAS c ++ Вот:

std::ifstream ifs;
ifs.open("file.las", std::ios::in | std::ios::binary);
liblas::ReaderFactory f;
liblas::Reader reader = f.CreateWithStream(ifs);

Если я закомментирую строку liblas::Reader reader = f.CreateWithStream(ifs);, код прекрасно компилируется и создает допустимый исполняемый файл. С этой строкой здесь выдает ошибку. Однако мне нужно иметь возможность читать файлы LAS в этом проекте, поэтому мне нужно попытаться заставить Reader работать.

Итак, мои вопросы:

  1. Есть ли лучший способ отладить это?

  2. Это очевидная ошибка, которую я пропускаю?

  3. Это проблема с библиотекой? (libLAS)

  4. Что я могу сделать, чтобы заставить это работать?

Спасибо всем заранее!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]