C++ 对“充气”的未定义引用;
试图链接到我用MinGW构建的静态assimp库。以下是我得到的错误: H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(BlenderLoader.cpp.obj):BlenderLoader.cpp:(.text+0xd91): 未定义对C++ 对“充气”的未定义引用;,c++,static-libraries,C++,Static Libraries,试图链接到我用MinGW构建的静态assimp库。以下是我得到的错误: H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(BlenderLoader.cpp.obj):BlenderLoader.cpp:(.text+0xd91): 未定义对inflateInit2'的引用 H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(BlenderLoader.cpp.obj):BlenderLoader.
inflateInit2'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(BlenderLoader.cpp.obj):BlenderLoader.cpp:(.text+0xe06):
未定义的参考
充气'
H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(BlenderLoader.cpp.obj):BlenderLoader.cpp:(.text+0xf72):
未定义对inflateEnd'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(XGLLoader.cpp.obj):XGLLoader.cpp:(.text+0x76c):
未定义对
inflateInit2'的引用
H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(XGLLoader.cpp.obj):XGLLoader.cpp:(.text+0x7ff):
未定义对充气'
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(XGLLoader.cpp.obj):XGLLoader.cpp:(.text+0x953):
未定义对充气轮胎的引用
inflateEnd'
H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0x9ac):
未定义对inflateInit2'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0xd5c):
未定义的参考
充气'
H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0xed2):
未定义对inflateReset'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0xef8):
未定义对
inflateSetDictionary'的引用
H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0xf52):
未定义对inflateEnd'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0x1b4a):
未定义对
inflateInit2'的引用
H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0x1efa):
未定义对充气'
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0x2070):
未定义对
inflateReset'的引用
H:\ovgl\ovgl…\dependencies\Assimp\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0x2096):
未定义对inflateSetDictionary'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(XFileParser.cpp.obj):XFileParser.cpp:(.text+0x20f0):
未定义对充气轮胎的引用
inflateEnd'
H:\ovgl\ovgl…\dependencies\Assimp\lib\libassimp.a(unzip.c.obj):unzip.c:(.text+0x1935):
未定义对inflateInit2'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(unzip.c.obj):unzip.c:(.text+0x19b8):
未定义对
get\u crc\u表的引用'
H:\ovgl\ovgl…\dependencies\Assimp\lib\libassimp.a(unzip.c.obj):unzip.c:(.text+0x1ec2):
未定义对crc32'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(unzip.c.obj):unzip.c:(.text+0x1f67):
未定义的参考
充气'
H:\ovgl\ovgl…\dependencies\Assimp\lib\libassimp.a(unzip.c.obj):unzip.c:(.text+0x1fb5):
未定义对crc32'的引用
H:\ovgl\ovgl\.\..\dependencies\Assimp\lib\libassimp.a(unzip.c.obj):unzip.c:(.text+0x2245):
未定义对充气轮胎的引用
inflateEnd'
这些是zlib库中的函数。您是否有zlib.h和zlib库(.a或.lib)以及正确设置的路径是否包含所有头文件?请注意,我下载的ASIMP包含了zlib的源代码,并提供了构建包含版本的选项。在我将ASIMP项目配置为构建zlib的新副本之前,我遇到了这些相同的错误,然后我不得不将其包含在我的应用程序中。相关:谢谢,它现在工作得很好!当我将ASSIMP作为VisualC++的静态编译时,我不必链接到ZLIB。是否可以将<代码> ZLIB?LIB < /C>文件包含在<代码> ASSIMP.LIB <代码>中,这样我只需要在我的实际项目中包含后者?它叫zlib,但在Linux上,惯例是在库上使用前缀“lib”。因此,文件应该是libz,链接器标志是-lzI,我有同样的问题,但是在Windows上使用MinGW make尝试构建JLint,我尝试手动设置libz.dll.a或libz.a的路径,但是我仍然会遇到这些链接器错误。有人有什么想法吗?仅供参考:想出来了。结果是JLint的Makefile格式不正确(对于Windows?)。它在链接器命令的中间有-L标志,它需要在链接器命令行的末尾。