C:如何包含squash压缩库?

标签 c

我对使用 c 进行编程相当陌生,并且我遇到了困难,包括 squash库到我的程序中。

我克隆了存储库并运行 ./configuremake sudo make install .

安装的文件:

/usr/local/lib/pkgconfig/squash-0.8.pc
/usr/local/lib/libsquash0.8.so.0.8
/usr/local/lib/libsquash0.8.so.0.8.0
/usr/local/lib/libsquash0.8.so
/usr/local/lib/cmake/Squash-0.8.0/SquashConfig.cmake
/usr/local/bin/squash

此目录中还有更多文件:

/usr/local/include/squash-0.8/
/usr/local/lib/squash/0.8/plugins/

在 Squash 示例中,该库包含在#include <squash/squash.h>中。但是当我尝试编译它时,我得到 fatal error: squash/squash.h: No such file or directory

还有#include <squash-0.8/squash.h>不起作用,因为然后我得到 fatal error: hedley/hedley.h: No such file or directory该文件位于 /usr/local/include/squash-0.8/squash/hedley/hedley.h

我想对于经验丰富的 C 程序员来说,解决方案非常简单,但我在这里失败了..

我是否需要设置某种环境变量来让编译器找到该库?

我如何将库链接到编译器? 我发现了类似的东西:

-rdynamic ../squash/libsquash0.8.so.0.8但由于上述错误,还无法测试。

最佳答案

尝试改变

#include <squash/squash.h> 

#include "squash/hedley/hedley.h"

#include "<squash-0.8/squash/hedley/hedley.h>"

更简单、更快的解决方案是在编译期间添加包含的路径:

-I/usr/local/include/squash-0.8/squash/

关于C:如何包含squash压缩库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41019045/

相关文章:

c - stdlib.h 和 sys/wait 中等待的区别

iphone - Mac 上的 native 开发与 Windows 上的 Dragonfire SDK - iPhone 开发

c - 将数据保存到二进制文件

c - C中删除排序链表中的节点

C - sbrk(size) 返回有效指针,但 sbrk(0) 为负值

使用指针更改结构内的数据

c++ - 是否存在 stb_image simd 支持?

c++ - 在进程和 DLL 之间共享全局/静态变量

c - 预处理器包含,何时使用 <> 或 ""

c - 从文件加载 C 结构