参照ウェブサイト:http://www.asahi-net.or.jp/~WG5K-ICKW/html/online/gcc-2.95.2/gcc_2.html
gccのオプションに
-l(ライブラリ名) (<ー 小文字のエルです)
入れるとデフォルトでは
/usr/lib , /usr/local/lib (他にもあるのかもしれない)
から名前の静的リンクライブラリ
lib(ライブラリ名).a
もしくは動的リンクライブラリ
lib(ライブラリ名).so
を探す。
もちろん無いとエラーがでる。(cannot find ・・・)
探索範囲を広げるには
gccのオプションで -l(ライブラリ名)の前に
-L (ライブラリを置いたディレクトリ)
をあたえる
詳しくは
http://www.hakodate-ct.ac.jp/~tokai/tokai/gtkmm/etc/p1.htm
まで。
C++の作法として、デフォルトのヘッダファイル(stdio.h , math.h , time.hなど)
は、
インクルードするときに
#include <・・.h>のように<>で囲む。
自分で書いたヘッダファイルは #include "・・.h"
のように""で囲む。
(詳細はよくわからないが <>と""とでヘッダファイルの探索範囲が異なる。~<>はカレントディレクトリを探索してくれないらしい。(詳細は知らない))
外から持ってきたC++標準ライブラリ以外のライブラリを使うときには
gccのオプションに
-I (ライブラリのヘッダファイルを置いたディレクトリ) (<ー 大文字のアイです)
を与える。
ただしデフォルトでパスの通っている
/usr/include, /usr/local/include/
にヘッダファイル群を置くことによっても問題は解決する。
linuxでもwindowsでも動くプログラムが書きたい人向けの情報。
gccの定義済みマクロを見るには、
$ touch a.h; cpp -dM a.h
とすれば良い。
ちなみにgcc4.1.2では
gccの定義済みマクロ?
でした。
各マクロの意味については
http://www.sra.co.jp/wingnut/gcc/cpp-j.html#Predefined
を見る
参照ウェブサイト:http://assam-at-night.blogspot.com/2006/11/gcc.html
gcc -dumpversion
参照ウェブサイト:http://www.famlog.jp/article.php?id=789
古いコンパイラ(2.95.3)を入手
$ apt-get install gcc295 gcc295-c++
コンパイラのバージョン変更
# /sbin/update-alternatives --config gcc # /sbin/update-alternatives --config g++
openhrpはg++を使用している。 gcc(g++)はソースから入れると動かないらしい。なるべくaptで入れよう!!