g++ -o program main.cpp classOne.cpp classTwo.cpp -lgsl -lgslblas -lm
これが、GSLパッケージがインストールされているときにコンパイルする方法です。しかし今、私はGSL-Libraryをインストールする権限を持っていないサーバーで作業しています。私のオプションは何ですか?
どうも
私はこれを定期的に行わなければなりませんでした、次のようにしてください:
mypref
)と、ライブラリを構築するためのディレクトリ(たとえば)を作成しますtmp
。2つの新しいディレクトリがあります:~/mypref
と~/tmp
。~/tmp
(最後のバージョンはftp://ftp.gnu.org/gnu/gsl/gsl-1.14.tar.gz)、抽出して生成されたサブディレクトリ(gsl-1.14
)に移動します。cd ~/tmp
wget ftp://ftp.gnu.org/gnu/gsl/gsl-1.14.tar.gz
tar -xvzf gsl-1.14.tar.gz
cd gsl-1.14
configure
指定するスクリプトを起動します。~/mypref
./configure --prefix=${HOME}/mypref
make
make install
~/tmp
これで、ディレクトリを安全に削除できます。cd; rm -rf tmp
これで、次を使用してプログラムをコンパイルできます。
g++ -o program main.cpp classOne.cpp classTwo.cpp -I${HOME}/mypref/include -lm -L${HOME}/mypref/lib -lgsl -lgslcblas
-I
-L
ヘッダーとライブラリのパスをそれぞれ示します。プログラムがホームディレクトリが表示されないコンテキストで実行されることを意図している場合は、静的リンクを検討してください。
g++ -o program main.cpp classOne.cpp classTwo.cpp ${HOME}/mypref/lib/libgsl.a ${HOME}/mypref/lib/libgslcblas.a -I${HOME}/mypref/include -lm
最後のコマンドによって生成されたバイナリは以前よりも大きくなっていますが、GSLおよびGSLCBLASから完全に独立しています。