戸川です. On Tue, 22 Dec 2009 17:45:10 +0900 nao <nao....@gmail.com> wrote:
> つまり、/usr/local/以下のincludeとlibを使う場合にはコンパイラに明示的にオプション > として渡す必要があるというのが結論なのですが、これはデフォルト状態なのでしょうか? > #いままで、このように明示した記憶がないので、これがデフォルトなのか迷っています。 FreeBSDのgccはそれがデフォルトだと理解しています. 簡単なプログラムを -v オプションつきでコンパイルすると,includeの探索リストや -Lのデフォルト時の指定が出てきます. ---- tog...@kotoko:~$ gcc -v hello.c Using built-in specs. Target: amd64-undermydesk-freebsd Configured with: FreeBSD/amd64 system compiler Thread model: posix gcc version 4.2.1 20070719 [FreeBSD] /usr/libexec/cc1 -quiet -v -D_LONGLONG hello.c -quiet -dumpbase hello.c -auxbase hello -version -o /var/tmp//ccsQIMHm.s ignoring duplicate directory "/usr/include" #include "..." search starts here: #include <...> search starts here: /usr/include End of search list. GNU C version 4.2.1 20070719 [FreeBSD] (amd64-undermydesk-freebsd) compiled by GNU C version 4.2.1 20070719 [FreeBSD]. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 26c21d99a931276c70e7be82ca7be046 /usr/bin/as -V -Qy -o /var/tmp//cceHxOBr.o /var/tmp//ccsQIMHm.s GNU assembler version 2.15 [FreeBSD] 2004-05-23 (x86_64-obrien-freebsd) using BFD version 2.15 [FreeBSD] 2004-05-23 /usr/bin/ld --eh-frame-hdr -V -dynamic-linker /libexec/ld-elf.so.1 /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/lib -L/usr/lib /var/tmp//cceHxOBr.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o GNU ld version 2.15 [FreeBSD] 2004-05-23 Supported emulations: elf_i386_fbsd elf_x86_64_fbsd ---- ということで,FreeBSD上でGCCを使う場合,/usr/local/include のインクルード ファイルや /usr/local/lib のライブラリを使う際には明示的に -I や -L が 必要,と理解しています. # specsファイルのありかが分かれば早いのですが,残念ながら手元では # 見付けることができなかったので,そのへんの探しかたを詳しい方教えて # いただけるとありがたいです. -- t...@puyo.org 戸川聡士