2017-07-17 94 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,你需要一個額外的支持軟件只是建立該輪...

相關問題