我对使用c进行编程非常陌生,并且很难将squash库包含到我的程序中。
我克隆了存储库并运行./configure
和make
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/
在壁球示例中,该库包含在
#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/