Opengl CDT eclipse OS X 10.6.8上的AssImp库问题:体系结构i386不支持的文件格式

Opengl CDT eclipse OS X 10.6.8上的AssImp库问题:体系结构i386不支持的文件格式,opengl,eclipse-cdt,i386,assimp,Opengl,Eclipse Cdt,I386,Assimp,我一直在尝试在Eclipse(CDT)中的OpenGl项目中链接非常有用的AssImp库 我通过以下问题的答案成功安装了AssImp库: 通过以下问题的答案,我还成功地在Eclipse(CDT)中设置了OpenGl: 现在,当我尝试在使用AssImp库的地方构建一些代码时,出现以下错误: ld:警告:在/usr/local/lib/libassimp.a中,文件是为不受支持的文件格式生成的,该文件格式不是要链接的体系结构(i386) 我猜图书馆是为错误的建筑而建的。。。 我试着在CMake的

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

我通过以下问题的答案成功安装了AssImp库:

通过以下问题的答案,我还成功地在Eclipse(CDT)中设置了OpenGl:

现在,当我尝试在使用AssImp库的地方构建一些代码时,出现以下错误:

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

我猜图书馆是为错误的建筑而建的。。。 我试着在CMake的“CMake_OSX_架构:”标志中填入“i386”,但这并没有任何帮助


好的,我改变了架构,但仍然会出现一些链接错误

有人有同样的错误吗

未定义的符号: “_get_crc_table”,引用自: _在libassimp.a(unzip.c.o)中解压缩当前文件3 “易燃物2”,引用自: libassimp.a(XGLLoader.cpp.o)中的Assimp::XGLImporter::InternReadFile(std::basic_字符串,std::allocator>const&,aiScene*,Assimp::IOSystem*) libassimp.a(BlenderLoader.cpp.o)中的Assimp::BlenderImporter::InternReadFile(std::basic_string,std::allocator>const&,aiScene*,Assimp::IOSystem*) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) _在libassimp.a(unzip.c.o)中解压缩当前文件3 “_inflateEnd”,引用自: libassimp.a(XGLLoader.cpp.o)中的Assimp::XGLImporter::InternReadFile(std::basic_字符串,std::allocator>const&,aiScene*,Assimp::IOSystem*) libassimp.a(BlenderLoader.cpp.o)中的Assimp::BlenderImporter::InternReadFile(std::basic_string,std::allocator>const&,aiScene*,Assimp::IOSystem*) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) _在libassimp.a(unzip.c.o)中解压zCloseCurrentFile “_inflateSetDictionary”,引用自: libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) “充气”,引用自: libassimp.a(XGLLoader.cpp.o)中的Assimp::XGLImporter::InternReadFile(std::basic_字符串,std::allocator>const&,aiScene*,Assimp::IOSystem*) libassimp.a(BlenderLoader.cpp.o)中的Assimp::BlenderImporter::InternReadFile(std::basic_string,std::allocator>const&,aiScene*,Assimp::IOSystem*) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) _解压libassimp.a(unzip.c.o)中的ZReadCurrentFile “crc32”,引用自: _解压libassimp.a(unzip.c.o)中的ZReadCurrentFile _解压libassimp.a(unzip.c.o)中的ZReadCurrentFile “_inflateReset”,引用自: libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&) libassimp.a(XFileParser.cpp.o)中的Assimp::XFileParser::XFileParser(std::vector>const&)
ld:symbol未找到

我通过在链接器库->添加“z”中添加zlib库修复了该问题


正如gabor papp在assimp邮件列表中所建议的那样,对于Clang(大概是在OS X上)来说,抱怨assimp是x86_64似乎是一种迂回的方式。将您的构建体系结构更改为x86_64,这应该会消失。感谢您的回答,但你能说得更具体些吗?我将C/C++构建->设置->链接器->杂项链接器标志更改为-arch x86_64,但这不起作用。塔克斯