Linuxのgccで、インクルードファイルやライブラリのパスを設定する方法が知りたいのですが、gccについて詳しい書籍やサイトがありましたら、教えてください。

gccとccの違いも知りたいです。

例)
#include "example.h"

このままだと、example.hが無いと表示されます。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

標準ライブラリのパスは、gccのインストール時に指定して、Cプリプロセッサの中に組み込まれます。



#include "example.h"
は、まずカレントディレクトリを探し、次に gccコマンドラインの -I オプションで指定したディレクトリを探し、最後に標準ライブラリが探されます。

#include <example.h>
は、カレントディレクトリを探さない点が異なります。

ccも基本的には同じですが、Unixの種類によって機能が異なる可能性があります。Linuxの場合はcc=gccです。
    • good
    • 1

gcc がデフォルトで検索するヘッダファイルとライブラリの場所は、以下のコマンドで確認することが出来ます。



gcc -print-search-dirs

確認していないので分かりませんが、まあ、基本的には (gcc のインストール先)/include:/usr/include だと思います。

他のディレクトリにインストールされているヘッダファイルを検索するためには -I または -I- オプションを指定する必要があります。(-I- オプションを使っているところは見たことがありません)

(ex.1) ヘッダファイルが /usr/local/include に存在する場合

gcc -I/usr/local/include ...

(ex.2) ヘッダファイルが /usr/local/include と /opt/app/include に存在する場合

gcc -I/usr/local/include -I/opt/app/include ...

> gccとccの違いも知りたいです。

Unix では gcc と cc は全く別物ですが、Linux では cc が gcc へのシンボリックリンクまたはハードリンクとして作成されていることがほとんどなので、基本的には同じと考えて問題ありません。
    • good
    • 3

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJR横浜駅でのビギナー向け待ち合わせ場所

私は東京在住なんですが、横浜にはほとんど行きません。近々、大阪から来る友達と横浜で待ち合わせするんですが、どちらもビギナーなので、JR横浜駅で一番わかりやすい待ち合わせ場所を教えていただけませんか?よろしくお願いします。

Aベストアンサー

横浜駅の定番待ち合わせ場所というと、中央北改札を出てすぐのドトール前です。

JRの横浜駅には4つの改札があります。東京寄りから順に、
・北改札
・中央北改札
・中央南改札
・南改札
位置関係は下記URLが分かりやすいです。
http://www.j-retail.jp/station/pdf/YOKOHAMA_B1.pdf

ホームや階段との対応は次のURLでどうぞ。
http://www.j-retail.jp/station/pdf/YOKOHAMA_1F.pdf

ドトールは中央北改札から出てすぐ右にありますが、中央南改札からでもほぼ正面に歩いて行けばOK。
ただし、北改札や南改札を出てしまうと大変なので、気をつけてください。

このドトール前なら、今の時期でも寒くはないです。

QLinuxのgccのLIBパス? (類似質問)

Linuxのgccで、LIBのパスを設定する方法が知りたいのですが、gccについて詳しい書籍やサイトがありましたら、教えてください。

例)gcc -I/usr/local/example/include test.c

/tmp/ccOFpCBo.o(.text+0x26): In function `main':
: undefined reference to `EXAMPLE_1'
/tmp/ccOFpCBo.o(.text+0x37): In function `main':
: undefined reference to `EXAMPLE_2'
/tmp/ccOFpCBo.o(.text+0x48): In function `main':
: undefined reference to `EXAMPLE_3'
collect2: ld はステータス1で終了しました。



また、ldとはVC6++でいう LINKのことでしょうか?

Aベストアンサー

>また、ldとはVC6++でいう LINKのことでしょうか?
そうです。

コンパイルは正常に終了していて、リンクでシンボルが見つからないというエラーですね。リンクしたいモジュールが /usr/local/example/lib/libmylib.a に入っているとしたら、
gcc -I/usr/local/example/inlude -L/usr/local/example/lib -lmylib test.c
パスと、ファイル名(から先頭のlibを除いたもの)を別々に指定します。

>gccについて詳しい書籍やサイトがありましたら
まず、man gcc を読んで不明点があればその情報に限って検索するのがいいと思います。

Q新横浜駅から近い、都内の遊べる場所を探しています! 横浜アリーナで行われるライブの後、3時間程度暇つ

新横浜駅から近い、都内の遊べる場所を探しています!
横浜アリーナで行われるライブの後、3時間程度暇つぶしができる場所を探しています。高校生女です。
できれば都内の方が良いのですが、無ければ横浜の近くの観光名所を教えていただければ幸いです。。

Aベストアンサー

女子高生向けの「新横浜駅から近い、都内の遊べる場所」なら、渋谷でしょう。

新横浜→(JR横浜線東神奈川方面行、140円)→菊名→(東急東横線渋谷方面行、250円)

渋谷のお隣の原宿でも。

新横浜→(JR横浜線東神奈川方面行、140円)→菊名→(東急東横線[東京メトロ副都心線直通]新宿三丁目・和光市方面行、420円)→明治神宮前
※東京メトロの明治神宮前駅は、JR原宿駅のすぐ隣。

Qgccのコンパイルの結果ファイルは他のlinux環境で動きますか?

gccのコンパイルの結果ファイルは他のlinux環境で動きますか?

ソースコードを他のlinux環境に入れて再コンパイルする必要はありますか?

Aベストアンサー

コンパイラの吐き出すコードにはオプション指定によって2種類のものを出力指定できます。

デフォルトで「dynamic」
 これは、共通ライブラリを外部において実行コードの省力化を計ったもので、CPU及び外部ライブラリのバージョンに依存します。
オプション指定で「static」
 こちらは、外部ライブラリをコード内に取り込んで、ライブラリに依存はしなくなりますが、実行ファイルは肥大化します。

結果的には
 CPUが異なる → 同じLinuxでも実行ファイル(バイナリファイル)に互換性はない(例:i386対PPC)
 CPUが同じ/ライブラリ環境が違う  → staticでコンパイルしたものは動作する
 CPUもライブラリ環境も同じ → 普通に動作する

ソースレベルでもライブラリが不足などしていたら再コンパイルできないことがあります。
だいたいこんな感じかと思います。

Q横浜観光でホテルをとるのに良い場所

今度私用で横浜へ行くことになりました。
関東へ行く機会はあまりないので、観光して帰りたいと思っています。

用事は午前中で終わるので、午後から横浜観光してそこでホテルをとり、翌日は東京へ向かって一日遊んで帰るつもりです。
最初は東京でホテルをとろうかと思ったのですが、東京都内のホテルがあまりに高かったので、横浜でホテルを探すことにしました。
ですが、地理が全くわからないので、ホテルを探すにしてもどの場所が良いのか迷ってしまいます。
横浜の観光地といったら、中華街とかみなとみらいとかをよく聞きますが、どこにあるのかもさっぱりで。。。

できれば観光に便利なところでホテルをとるのに良い場所はありますか?
調べてみると「桜木町」や「関内」といった地名をよく見ますが、これらの場所は観光に便利な場所なのですか?
また、翌日東京へ向かうので、東京からかなり遠い場所は避けたいです。
女一人なので、できれば治安とか周りの環境も教えていただけるとありがたいです。

わがままばっかりの質問で申し訳ありませんが、よろしくお願いいたします。

Aベストアンサー

>「桜木町」や「関内」といった地名をよく見ますが、これらの場所は観光に便利な場所なのですか?

確かに便利だと思います。
ただ、関内から伊勢佐木町や阪東橋の方面に行くとあまり治安がいいとは言えないですね。

みなとみらいに近くて、7000円~10,000円の予算でしたら、桜木町のワシントンホテルでしょうか。
http://www.yokohama-s-wh.com/
海側の部屋は夜景が綺麗ですが、若干高くなります。
桜木町は横浜駅から根岸線(京浜東北線)で1駅です。翌日は根岸線(京浜東北線)1本で東京駅まで行けます。(横浜駅で東海道線に乗り換えてもいいですが)

中華街や山下公園の近くなら、みなとみらい線の「日本大通り」あたりでしょうか。
ホテルJALシティ関内横浜↓↓
http://www.kannai-yokohama.jalcity.co.jp/
JALの看板を背負ってるだけあって、お洒落ですし馬車道も徒歩圏内です。平日は結構お得なプランがあるようです。
翌日はみなとみらい線で横浜駅まで行き、東海道線か京浜東北線に乗り換えて東京駅まで向えばいいです。
もしくは多少歩きますが、関内駅から根岸線(京浜東北線)に乗れば東京駅まで乗換えなしで行けます。

>「桜木町」や「関内」といった地名をよく見ますが、これらの場所は観光に便利な場所なのですか?

確かに便利だと思います。
ただ、関内から伊勢佐木町や阪東橋の方面に行くとあまり治安がいいとは言えないですね。

みなとみらいに近くて、7000円~10,000円の予算でしたら、桜木町のワシントンホテルでしょうか。
http://www.yokohama-s-wh.com/
海側の部屋は夜景が綺麗ですが、若干高くなります。
桜木町は横浜駅から根岸線(京浜東北線)で1駅です。翌日は根岸線(京浜東北線)1本で東京駅まで行けま...続きを読む

QWindows上で作成した、2バイト文字、半角スペース入りのファイルやフォルダは、Linux上で扱えるのでしょうか・・・

初歩的な質問です... 。

一週間前に、以下の質問をしました。

Vine Linux を使いたいのですが・・・(初歩的な質問です)
http://okwave.jp/qa2958373.html

ANo.3の回答者様から、

>>フォルダ名・ファイル名が英数字(および一部記号)のみであれば問題ありません。いわゆる全角文字が含まれている場合、フォルダ名・ファイル名が文字化けしたり、読めなかったり、アクセスできなかったりします。

という回答をいただきました。

現在、Windows XP入りのマシンを使用しています。このマシン上には、NTFSでフォーマットした、データファイル(txt,doc,mht,htmその他)を入れるためのNTFSパーティション(D:)があります... 。
NTFSパーティション(D:)には、半角スペースの入ったファイル、フォルダや、2バイト文字を使用したファイル、フォルダもあります。

例えば、このマシンにVine4.1(またはFedora Core 6)を未使用領域にインストールしてデュアルブートさせた場合、Vine4.1(またはFedora Core 6)から、上記のNTFSパーティション(D:)にマシン上にアクセスすると、ファイルやフォルダは、『通常』、文字化けなどせずに、正常に認識されて、読み書きができるようになるのでしょうか?。
(Vine4.1(またはFedora Core 6)は、NTFS上の、半角スペースの入ったファイル、フォルダや、2バイト文字を使用したファイル、フォルダを扱うことができるのでしょうか?。)

NTFSパーティション(D:)には、[.mht]で保存したWebページのスクラップファイルも沢山あります。ほとんどは、2バイトのファイル名です... 。[.txt]も同様です... 。
ほとんどのフォルダは、半角名ですが、半角スペースが付いてしまっています... 。

知識が乏しく、Web検索してもなかなか解決できません... 。
お願いいたします... 。

初歩的な質問です... 。

一週間前に、以下の質問をしました。

Vine Linux を使いたいのですが・・・(初歩的な質問です)
http://okwave.jp/qa2958373.html

ANo.3の回答者様から、

>>フォルダ名・ファイル名が英数字(および一部記号)のみであれば問題ありません。いわゆる全角文字が含まれている場合、フォルダ名・ファイル名が文字化けしたり、読めなかったり、アクセスできなかったりします。

という回答をいただきました。

現在、Windows XP入りのマシンを使用しています。このマシン上には...続きを読む

Aベストアンサー

>Windows上で作成した(集めた)Mozilla Firefoxの[ブックマーク]なども、文字コードを変換して保存し直せば、Linux上にインストールしたFirefoxにインポートできるのでしょうか?。

設定が適切にできていれば、単にブックマークをコピーするだけです。

メールデータに関しては、デュアルブートということであれば、shylpheedのデータを
fat32でフォーマットした共用ドライブに置いて、Windows及びLinuxの双方から同じデータを見るように設定すれば
どちらで受信したメールも同じように扱えます。ご一考を。

おそらく雷鳥も同じだと思いますが。

Q【至急!】横浜駅構内の待ち合わせ場所について質問です。

【至急!】横浜駅構内の待ち合わせ場所について質問です。
それぞれ「横浜市営ブルーライン」及び「京急本線」で横浜駅にきて合流し、その後、「京浜急行」か「JR根岸線」に乗り継ぐ予定です。

横浜駅を頻繁に利用する機会がなく、想像もつかず困ってます。

迷わない確実な待合せ場所をご存知でしたらアドバイス頂きたく存じます。。

Aベストアンサー

中央通路にびゅうプラザ、ドトールコーヒーがあります。

QLinuxで、標準Cライブラリが読み込まれず、C言語プログラミングができません・・・

僕の問題はタイトルの通りで、標準Cライブラリが読み込まれていないようで、C言語プログラミングができません。

ubuntuのオフィシャルから日本語ローカライズドDesktopCDをダウンロードして、空のHDDにインストールしました。
ですが、gnome-terminalからccコマンドでプログラムをコンパイルしても、標準Cライブラリにあるはずの<stdio.h>が認識されず、続くprinft関数も読んでくれません。

これはどうしてでしょうか?LinuxはデフォルトでCやらJAVAやらのプログラミングの環境が整っているものだと思っていたので、戸惑っています。何か、セットアップが必要なのでしょうか。

ちなみに、gccでも、標準ライブラリは読み込まれませんでした。

Aベストアンサー

#1の方が答えていますが、ubuntuでは開発環境はデフォルトではインストールされません。

コマンドが使えるのでしたら
$ sudo apt-get update
$ sudo apt-get install build-essential
で、
GUIでしたらsynapticを起動して「build-essential」を検索してインストールしてください。

これで標準のCの開発環境が整います。

Q横浜で昼間、母とゆっくり過ごす場所を探しています。

横浜で昼間、母とゆっくり過ごす場所を探しています。

質問させていただきます。
週末母が遊びに来るので、横浜で昼間ゆっくり過ごせる場所を探しています。

状況としては、
・全員で5名
・妊婦が1人いる
・主な観光地巡りは翌日できる
・夜はフランス料理を食べる予定

以上の点を踏まえて、あまり歩き回らず、(できれば景色がよくて)ランチをゆっくり食べられるところと考えています。
※中華街も考えてましたが、やはり週末は混むので妊婦さんにはよくないかなぁと思いました。

横浜市内であればどこでも構いません。
どこかオススメの場所、またはお店があれば教えて下さい。
よろしくお願いします。

Aベストアンサー

天気にもよりますが、山下公園をゆっくり散歩ってのが良いように思います。
横浜を良く知っている人でも、あそこは何度行っても良い場所ですから。
また「港の見える丘公園」などと違って地面が平坦ですから老人や妊婦さんでも安心です。ところどころにベンチもあります。芝生に腰掛けて休んでも良いでしょう。
元気なら、「ぞうの鼻パーク」から「大桟橋ターミナル」「マリンタワー」「人形の家」などはしごしても良いでしょう。「人形の家」は女性には興味深いことと思います。
http://yokohama-doll.museum.or.jp/

ランチやお茶なら公園のすぐ近く「ホテルニューグランド」をご利用下さい。
http://yado.knt.co.jp/ps/yadoppc.aspx?ydcd=2810-004#facilitie

QLinuxやUNIXでダウンロードファイルを保存したり作業したりすると

LinuxやUNIXでダウンロードファイルを保存したり作業したりするときに、どのディレクトリを使用しますか?

私は/usr/local/srcを使用していますが、先日/workディレクトリを作成して使用する方に会いました。一般的なものってあるのでしょうか?

ご回答をお待ちしています。

Aベストアンサー

各人がroot権限を持っていたとしても
通常の作業はroot権限を用いないのが普通じゃ無いでしょうか?

いつも全員root権限だと、ケアレスミスで、全員の仕事を吹っ飛ばせる運用ルールですよ。
もし、単一のUNIX系システムを共用するなら、killコマンドのPID指定ミスで他人のソフトを止められます。


それぞれが、管理権限を持つシステムを個別に持つなら
ファイルサーバーなり、NASに集約するのが基本だと思います。
Linuxの管理ができる人がいるなら、5万円もあれば実用的なファイルサーバーが作れますし。
この場合、その公開ディレクトリーをどこにマウントするかは
それぞれの端末の(管理者の)自由となります。
/etc/fstabを見ればわかることだから
前任者の設定がわからなくなるとかいうものでも無いし。


作業用とか、共用ディレクトリーの置き場所って
HDDの耐用年数とか可用性とかと、消耗とか動作負荷とかいったものを考えて
どのパーティションに置くのかが重要で…
ある意味、それがファイルシステム上のどこにマウントされるかは
けっこうどうでも良いことだとも思います。

マウント先を指定するだけで、場所だけが自由に変えられる
それがCP/MよりもMS-DOSよりも優れた、UNIX系のファイルシステムの妙味でしょ :-)

各人がroot権限を持っていたとしても
通常の作業はroot権限を用いないのが普通じゃ無いでしょうか?

いつも全員root権限だと、ケアレスミスで、全員の仕事を吹っ飛ばせる運用ルールですよ。
もし、単一のUNIX系システムを共用するなら、killコマンドのPID指定ミスで他人のソフトを止められます。


それぞれが、管理権限を持つシステムを個別に持つなら
ファイルサーバーなり、NASに集約するのが基本だと思います。
Linuxの管理ができる人がいるなら、5万円もあれば実用的なファイルサーバーが作れますし。
この場...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング