在Mac OS 10.8.2中编译VXL,无法找到X11/Xlib.h

Compiling VXL in Mac OS 10.8.2, X11/Xlib.h not found

本文关键字:X11 Xlib VXL OS Mac 编译      更新时间:2023-10-16

我正在尝试安装VXL,当我输入"make -j1"时,我得到了这个

[ 10%] Building C object v3p/netlib/examples/CMakeFiles/netlib_showme.dir/showme.o
/Users/viviantung/downloads/vxl-1.17.0/v3p/netlib/examples/showme.c:106:10: fatal error: 
  'X11/Xlib.h' file not found
#include <X11/Xlib.h>
     ^
1 error generated.
make[2]: *** [v3p/netlib/examples/CMakeFiles/netlib_showme.dir/showme.o] Error 1
make[1]: *** [v3p/netlib/examples/CMakeFiles/netlib_showme.dir/all] Error 2
make: *** [all] Error 2

我该怎么办?我已经安装了XQuartz。谢谢。

X11头文件位于/usr/X11R6/include目录下。您需要做的是要求编译器使用-isystem /usr/X11R6/include命令行选项在那里搜索。或者,如果你正在使用CMake,使用include_directories("/usr/X11R6/include")

  1. 下载vxl-1.14.0
  2. 创建一个名为vxl的文件夹,提取vxl中的vxl-1.14.0.zip,并在vxl文件夹下创建一个名为bin的文件夹。
  3. 确保你已经安装了cmakexquartz
  4. 打开终端,cd在bin文件夹的路径中创建并输入ccmake /User/..../vxl/vxl-1.14.0,按c直到可以按g生成。然后按g,按q退出。
  5. 在bin文件夹下输入make -j2 -k

希望你能成功建立它。

如果其他方法都失败,那么解决这个问题的一种蛮力方法是在您的环境中定义CXXFLAGS或CFLAGS。

添加
export CFLAGS="-I/opt/X11/include"

export CXXFLAGS="-I/opt/X11/include"

取决于c或c++编译器到你的~/。Bashrc或~/。Bash_profile,然后重新运行。