【问题标题】:Compiling VXL in Mac OS 10.8.2, X11/Xlib.h not found在 Mac OS 10.8.2 中编译 VXL,未找到 X11/Xlib.h
【发布时间】:2012-12-28 20:15:38
【问题描述】:

我正在尝试安装 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。谢谢。

【问题讨论】:

    标签: c++ cmake x11 osx-mountain-lion


    【解决方案1】:

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

    【讨论】:

    • 我正在使用 CMake。您能否更具体地说明我应该在命令行中真正输入的内容。我输入的只是“make”,所以我不知道什么时候应该输入“-isystem /usr/X11R6/include”或“include_directories("/usr/X11R6/include")”。非常感谢!
    • @user1978333: include_directories("/usr/X11R6/include") 进入您的 Cmake 文件。然后你运行cmake,然后运行make。使用 Google 或其他内容,例如“如何添加 Cmake 的包含路径”或类似内容。
    【解决方案2】:
    1. 下载vxl-1.14.0
    2. 创建一个名为vxl的文件夹,解压vxl中的vxl-1.14.0.zip,同时在vxl文件夹下创建一个名为bin的文件夹。
    3. 确保您安装了cmakexquartz
    4. 打开终端,在你创建的bin文件夹路径下cd,输入ccmake /User/..../vxl/vxl-1.14.0c,直到可以按g生成。 然后按g,再按q退出。
    5. 在 bin 文件夹下键入 make -j2 -k

    希望您可以成功构建它。

    【讨论】:

      【解决方案3】:

      如果所有其他方法都失败了,解决此问题的蛮力方法是在您的环境中定义 CXXFLAGS 或 CFLAGS。

      添加

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

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

      取决于 c 或 c++ 编译器到你的 ~/.bashrc 或 ~/.bash_profile 然后重新运行。

      【讨论】:

        猜你喜欢
        • 2011-07-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-03
        相关资源
        最近更新 更多