你如何静态链接matio,一个用于读取 mat 文件的库,主要由 matlab 和 octave 使用到可执行文件中?
如果文件main.cpp包含 matio 功能,则编译器调用
g++ -o main main.cpp -Imatio/include matio/lib/libmatio.a
失败并出现一堆错误消息,例如:undefined reference to `inflateEnd'。这也可以通过在编译器调用中添加 zlib 来解决:
g++ -o main main.cpp -Imatio/include matio/lib/libmatio.a -lz
现在错误消息与对 `__intel_sse2_strlen' 的未定义引用不同。因此,zlib 库似乎是编译所必需的。
我现在有以下问题:
- 您需要做什么才能将 matio 库静态链接到可执行文件中?
- 为什么我需要添加 zlib 库,即使我使用./configure --without-libz配置和编译了 matio ?