私はglfw3パッケージを必要とするプロジェクトに取り組んでいます。私は "/ usr/local/include"へのアクセスが必要なglfw3をインストールしようとしました。しかし、私はrootアクセス権を持っていないので、ディレクトリGLFWを作る許可は拒否されます。どうすればこの問題を回避できますか?ルートアクセスなしでqlfw3をインストールする
答えて
あなたはしていません。それは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
を除いて、そのホイールを構築するために追加のサポートソフトウェアが必要です。
@BrettHale、glfwはCMakeベースのビルドシステムを使用しているので、パッケージのビルドとインストールについては[cmake]の質問は合理的かつ適切です。しかし、問題はAutotoolsやpkg-configとは関係がないため、タグ付けしてはいけません。あなたの(非常にいい; +1)答えのものを参照することを選択することは無関係です。 –
@JohnBollinger - もちろんそうです。私はタグを介して質問の範囲を超えたものに相互参照を提供しようとしていたと思います。 –