2017-07-17 91 views
0

我正在开发一个需要glfw3软件包的项目。我曾尝试安装需要访问“/ usr/local/include”的glfw3。但由于我没有root访问权限,因此目录GLFW的权限被拒绝。我怎样才能解决这个问题?在没有root权限的情况下安装qlfw3

+0

@BrettHale,因为glfw使用基于CMake的构建系统,并且问题是关于构建和安装它的包,标记[cmake]的问题是明智而恰当的。但这个问题与Autotools或pkg-config无关,因此不应该如此标记。你选择引用那些在你的(非常好的,+1)答案中的是无关紧要的。 –

+0

@JohnBollinger - 当然你是对的。我想我试图通过标签提供一个交叉引用来超出问题范围。 –

回答

1

你不知道。这是默认的cmake。如果您想要一个很好的交互式配置,请转到源代码树的顶层,然后键入ccmake .在此您可以轻松找到覆盖INSTALL_PREFIX的选项。如果您点击't',您将获得更多高级选项。完成后,'g'将生成Makefiles并退出。我在$HOME/local中为我的项目安装了许多本地图书馆。 glfw就是其中之一。以及$HOME/local/binPATH$HOME/local/lib[DY]LD_LIBRARY_PATH。更好的是,它安装了lib/pkgconfig/glfw3.pc,这使我的生活更轻松,使用GLFW构建应用程序,查询依赖关系,包括路径,库路径,库/框架等等。 。使用pkg-config(与PKG_CONFIG_PATH=/Users/brett/local/lib/pkgconfig集我对所有我的其他.pc元数据文件的shell脚本

这也让我GLFW3轻松集成到自动工具pkg-config提供初始化宏象:

PKG_PROG_PKG_CONFIG([0.29]) # defines PKG_CONFIG variable. 

与异体WS我写了一些人性化的脚本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,你需要一个额外的支持软件只是建立该轮...

相关问题