2017-07-17 14 views
0

私はglfw3パッケージを必要とするプロジェクトに取り組んでいます。私は "/ usr/local/include"へのアクセスが必要なglfw3をインストールしようとしました。しかし、私はrootアクセス権を持っていないので、ディレクトリGLFWを作る許可は拒否されます。どうすればこの問題を回避できますか?ルートアクセスなしでqlfw3をインストールする

+0

@BrettHale、glfwはCMakeベースのビルドシステムを使用しているので、パッケージのビルドとインストールについては[cmake]の質問は合理的かつ適切です。しかし、問題はAutotoolsやpkg-configとは関係がないため、タグ付けしてはいけません。あなたの(非常にいい; +1)答えのものを参照することを選択することは無関係です。 –

+0

@JohnBollinger - もちろんそうです。私はタグを介して質問の範囲を超えたものに相互参照を提供しようとしていたと思います。 –

答えて

1

あなたはしていません。それはcmakeのデフォルトです。素晴らしいインタラクティブな設定が必要な場合は、ソースツリーのトップレベルに移動してccmake .と入力してください。INSTALL_PREFIXを上書きするオプションが簡単に見つかります。 't'を押すと、より高度なオプションが得られます。完了すると、'g'はMakefileを生成して終了します。私は$HOME/localに私のプロジェクト用の私のローカルライブラリをたくさんインストールします。 glfwがその1つです。また、$HOME/local/binからPATHおよび$HOME/local/libから[DY]LD_LIBRARY_PATHの前に付加する。

lib/pkgconfig/glfw3.pcは、私の人生を楽にし、GLFWでアプリケーションを構築し、依存関係をクエリし、パス、ライブラリパス、ライブラリ/フレームワークをインクルードしてインストールします。 。すべて私の他.pcメタデータファイルのための私のシェルスクリプトでpkg-config(セットPKG_CONFIG_PATH=/Users/brett/local/lib/pkgconfigとを使用して

をまた私はautotoolsのに簡単にGLFW3を統合することができますpkg-configは次のように初期化マクロが用意されています。

PKG_PROG_PKG_CONFIG([0.29]) # defines PKG_CONFIG variable. 

とアロ例えば、

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に抵抗してきた、私のパッケージにGLFW3を統合するために、いくつかのユーザーフレンドリーなスクリプトを書くために私をWS。実際のソフトウェア開発の現実のために複雑になるにつれ、私はautotoolsホイールを改革していると感じています。 20年以上のプラットフォームの癖や経験を生かさずに。 cmakeを除いて、そのホイールを構築するために追加のサポートソフトウェアが必要です。