![makefile 中指定的 x11 目录不存在,但项目可以完美编译和运行](https://linux22.com/image/961447/makefile%20%E4%B8%AD%E6%8C%87%E5%AE%9A%E7%9A%84%20x11%20%E7%9B%AE%E5%BD%95%E4%B8%8D%E5%AD%98%E5%9C%A8%EF%BC%8C%E4%BD%86%E9%A1%B9%E7%9B%AE%E5%8F%AF%E4%BB%A5%E5%AE%8C%E7%BE%8E%E7%BC%96%E8%AF%91%E5%92%8C%E8%BF%90%E8%A1%8C.png)
因此,makefile中定义的x11目录是:usr/X11R6/lib64,该目录不存在。但是,该项目在Kdevelop中完美编译并且运行时没有问题。
如果我从 makefile 中删除所有 x11 的包含,它就无法编译。
(1)如果指定的目录不存在,编译器是否会以某种方式搜索 x11 库?
(2)如何找到我的计算机中 x11 库的确切位置?
对于 (2),我找到了 /usr/lib/X11,但是在那里找不到任何库文件...
(如果这很重要的话,我正在尝试在 Kubuntu 中以 CMake 格式重写 makefile。)
谢谢!
答案1
是的,gcc 默认检查
/usr/include
是否满足#include
指令。试试看
locate -b '\X.h'
。我的系统在 中找到了它/usr/include/X11
。