【问题标题】:Installing qlfw3 without root access在没有 root 访问权限的情况下安装 qlfw3
【发布时间】:2017-07-17 16:05:13
【问题描述】:

我正在做一个需要 glfw3 包的项目。我尝试安装需要访问“/usr/local/include”的glfw3。但由于我没有 root 访问权限,因此创建目录 GLFW 的权限被拒绝。我该如何解决这个问题?

【问题讨论】:

  • @BrettHale,由于 glfw 使用基于 CMake 的构建系统,问题是关于构建和安装它的包,用 [cmake] 标记问题是明智和适当的。但这个问题与 Autotools 或 pkg-config 无关,因此不应如此标记。您选择在您的(非常好的;+1)答案中提及那些是无关紧要的。
  • @JohnBollinger - 你是对的,当然。我想我试图通过标签为超出问题范围的内容提供交叉引用。

标签: cmake glfw


【解决方案1】:

你没有。这是 cmake 默认值。如果您想要一个很好的交互式配置,请转到源代码树的顶层并输入ccmake .,您会很容易找到覆盖INSTALL_PREFIX 的选项。如果您点击't',您将获得更多高级选项。完成后,'g' 将生成 Makefile 并退出。我在$HOME/local 中为我的项目安装了很多本地库。 glfw 就是其中之一。以及将$HOME/local/bin 附加到PATH$HOME/local/lib[DY]LD_LIBRARY_PATH。它对我很有帮助,有一些本地沙箱可供开发。

更好的是,它安装了lib/pkgconfig/glfw3.pc,这让我的生活更轻松,使用 GLFW 构建应用程序,查询依赖项,使用 pkg-config 包含路径、库路径、库/框架(在我的 shell 脚本中设置了 PKG_CONFIG_PATH=/Users/brett/local/lib/pkgconfig对于我所有的其他 .pc 元数据文件。

它还允许我将 GLFW3 轻松集成到自动工具中。 pkg-config 提供初始化宏,如:

PKG_PROG_PKG_CONFIG([0.29]) # defines PKG_CONFIG variable.

并允许我编写一些用户友好的脚本来将 GLFW3 集成到我的包中,例如,

AC_MSG_RESULT([])
AC_MSG_RESULT([GLFW3 for OpenGL window and event management...])

PKG_CHECK_MODULES_STATIC([GLFW3], [glfw3 >= 3.2.1],
  [ac_glfw3_version=`$PKG_CONFIG glfw3 --modversion`],
  [ac_glfw3_version=;])

if test "x$ac_glfw3_version" != x ; then

  GLFW_VIS_CXXFLAGS=`echo $GLFW3_CFLAGS`
  GLFW_VIS_LIBFLAGS=`echo $GLFW3_LIBS`

  AC_MSG_RESULT([GLFW3 version: $ac_glfw3_version])
  AC_MSG_RESULT([CXXFLAGS: $GLFW_VIS_CXXFLAGS])
  AC_MSG_RESULT([LIBFLAGS: $GLFW_VIS_LIBFLAGS])

else

  dnl ... something else? ...

  AC_MSG_WARN([the vis library will be omitted from the build:])
  AC_MSG_RESULT([GLFW3 @ glfw.org])

  dnl ... or just AC_MSG_FAILURE? ...
fi

我暂时拒绝了cmake。由于实际软件开发的现实,它变得越来越复杂,我觉得它重新发明了autotools 轮子。没有 20 多年的平台怪癖和经验可供借鉴。除了cmake,你需要一整套额外的支持软件来构建那个轮子......

【讨论】:

    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 2019-02-25
    相关资源
    最近更新 更多