現在、xcode 8 を使用して C++ プロジェクトに取り組んでいますが、次のエラーが発生し続けます。
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)
ブースト、liblas などをコンパイルしました。それを cmakelists.txt にも含め、「フレームワーク検索パス」と「ヘッダー検索パス」にリストされているフォルダを含めます。私のコンパイラは、Apple LLVM 8.0 の xcode 8 デフォルトです。私の展開ターゲットは 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 を機能させる必要があります。
だから私の質問は:
これをデバッグするより良い方法はありますか?
これは私が見逃している明らかなエラーですか?
これはライブラリの問題ですか?(libLAS)
これを機能させるにはどうすればよいですか?
事前に誰にでも感謝します!