我是与C编程的新手
我克隆了存储库并运行./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>
to
#include "squash/hedley/hedley.h"
或
#include "<squash-0.8/squash/hedley/hedley.h>"
更容易,更快的解决方案将在编译过程中添加您包含的路径:
-I/usr/local/include/squash-0.8/squash/