-1

我一直在尝试在 Eclipse (CDT) 中的 OpenGL 项目中链接非常有用的 AssImp 库

我按照这个问题的答案成功安装了 AssImp 库:

构建开放资产导入库 (Assimp) 时遇到问题

我还按照这个问题的答案在 Eclipse(CDT) 中成功设置了 OpenGl:

OS X 上 Eclipse 中的 OpenGL 和 GLUT

现在,当我尝试构建一些正在使用 AssImp-lib 的代码时,会出现以下错误:

ld:警告:在 /usr/local/lib/libassimp.a 中,文件是为不受支持的文件格式构建的,该文件格式不是被链接的体系结构 (i386)

我猜这个库是为错误的架构而构建的......我尝试在 CMake 的“CMAKE_OSX_ARCHITECTURES:”标志中填写“i386”,但这对任何方式都没有帮助......


好的,我更改了架构,但它仍然给出了一些链接错误..

有人有同样的错误吗?

未定义符号:“_get_crc_table”,引用自:libassimp.a(unzip.co) 中的 _unzOpenCurrentFile3 “ inflateInit2",引用自:Assimp::XGLImporter::InternReadFile(std::basic_string, std::allocator > const&, aiScene*, Assimp::IOSystem*) in libassimp.a(XGLLoader.cpp.o) Assimp::BlenderImporter: :InternReadFile(std::basic_string, std::allocator > const&, aiScene*, Assimp::IOSystem*) in libassimp.a(BlenderLoader.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)在 libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&) 在 libassimp.a(XFileParser.cpp.o) _unzOpenCurrentFile3 在 libassimp.a(unzip.co) "_inflateEnd" ,引用自:Assimp::XGLImporter::InternReadFile(std::basic_string, std::allocator > const&, aiScene*, Assimp::IOSystem*) in libassimp.a(XGLLoader.cpp.o) Assimp::BlenderImporter:: InternReadFile(std::basic_string, std::allocator > const&, aiScene*, Assimp::IOSystem*) in libassimp.a(BlenderLoader.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&) in libassimp.a(XFileParser.cpp.o ) Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a(XFileParser.cpp.o) _unzCloseCurrentFile in libassimp.a(unzip.co) "_inflateSetDictionary",引用自:Assimp::XFileParser:: XFileParser(std::vector > const&)在 libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)在 libassimp.a(XFileParser.cpp.o) "_inflate",引用自:Assimp::XGLImporter::InternReadFile(std::basic_string, std::allocator > const&, aiScene*, Assimp::IOSystem*) in libassimp.a(XGLLoader.cpp.o) Assimp::BlenderImporter::InternReadFile (标准::basic_string, std::allocator > const&, aiScene*, Assimp::IOSystem*) in libassimp.a(BlenderLoader.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&) in libassimp.a(XFileParser .cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a(XFileParser.cpp.o) _unzReadCurrentFile in libassimp.a(unzip.co) "_crc32",引用自:_unzReadCurrentFile in libassimp.a(unzip.co) _unzReadCurrentFile in libassimp.a(unzip.co) "_inflateReset",引用自:Assimp::XFileParser::XFileParser(std::vector > const&) in libassimp.a(XFileParser.cpp.o ) Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a(XFileParser.cpp.o) ld: 未找到符号a(BlenderLoader.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)在 libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a(XFileParser.cpp.o) _unzReadCurrentFile in libassimp.a(unzip.co) "_crc32",引用自: _unzReadCurrentFile in libassimp.a(unzip.co) _unzReadCurrentFile in libassimp.a(unzip.co) "_inflateReset" ,引用自:Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a( XFileParser.cpp.o) ld: 未找到符号a(BlenderLoader.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)在 libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a(XFileParser.cpp.o) _unzReadCurrentFile in libassimp.a(unzip.co) "_crc32",引用自: _unzReadCurrentFile in libassimp.a(unzip.co) _unzReadCurrentFile in libassimp.a(unzip.co) "_inflateReset" ,引用自:Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)in libassimp.a( XFileParser.cpp.o) ld: 未找到符号vector > const&)in libassimp.a(XFileParser.cpp.o) _unzReadCurrentFile in libassimp.a(unzip.co) "_crc32",引用自:libassimp.a(unzip.co) 中的_unzReadCurrentFile libassimp.a(unzip.co) 中的_unzReadCurrentFile co) "_inflateReset",引用自:Assimp::XFileParser::XFileParser(std::vector > const&) in libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)在 libassimp.a(XFileParser.cpp.o) ld 中:找不到符号vector > const&)in libassimp.a(XFileParser.cpp.o) _unzReadCurrentFile in libassimp.a(unzip.co) "_crc32",引用自:libassimp.a(unzip.co) 中的_unzReadCurrentFile libassimp.a(unzip.co) 中的_unzReadCurrentFile co) "_inflateReset",引用自:Assimp::XFileParser::XFileParser(std::vector > const&) in libassimp.a(XFileParser.cpp.o) Assimp::XFileParser::XFileParser(std::vector > const&)在 libassimp.a(XFileParser.cpp.o) ld 中:找不到符号libassimp.a(XFileParser.cpp.o) 中的向量 > const&) Assimp::XFileParser::XFileParser(std::vector > const&) 在 libassimp.a(XFileParser.cpp.o) 中 ld: 未找到符号libassimp.a(XFileParser.cpp.o) 中的向量 > const&) Assimp::XFileParser::XFileParser(std::vector > const&) 在 libassimp.a(XFileParser.cpp.o) 中 ld: 未找到符号

4

1 回答 1

0

我通过在链接器库中添加 zlib 库来解决问题 -> 添加“z”

正如 gabor papp 在 assimp-mailinglist 中所建议的那样

于 2014-01-14T17:07:52.787 回答