- ベストアンサー
g++コンパイルしながら使用されたヘッダー・ライブラリのフルパスを表示させたい
宜しくお願い足します。 : posix gcc 3.2.2 20030222 (Red Hat Linux 3.2.2-5) g++: no input files の環境です。 $ g++ -o hoge hoge.cc としてコンパイルしながらにコンパイラがどのヘッダー、ライブラリを使用したかフルパスで表示させるにはどのようなオプションを指定すればいいのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 #3の方の書かれた-Mの方がいいですね。
その他の回答 (3)
- colder
- ベストアンサー率43% (30/69)
ヘッダだけなら(コンパイルはしてくれないけど) -M
- jacta
- ベストアンサー率26% (845/3158)
> となりました。上記の検索リストからどのiostreamが使用されたと分かるのでしょうか? オプションということですので、一番近そうなものを書いたのですが、確かにこれではライブラリは分かってもヘッダはわかりませんね。 とりあえず、-Eオプションをつければ、フルパスでヘッダファイル名がわかりますが、結構見るのは大変だと思います。
お礼
$ g++ hoge.cc -M や $ g++ hoge.cc -E で出力できました。どうも有り難うございました。
- jacta
- ベストアンサー率26% (845/3158)
-v
補足
ご回答有り難うございます。 $ cat test5.cc #include<iostream> using namespace std; int main(void){ cout << "Hollow,World!" << endl; return 0; } $ g++ -o test5 test5.cc -v : "/usr/i386-redhat-linux/include" #include "..." :の検索はここから始まります: #include <...> :の検索ははここから始まります: /usr/include/c++/3.2.2 /usr/include/c++/3.2.2/i386-redhat-linux /usr/include/c++/3.2.2/backward /usr/local/include /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include /usr/include 検索リストの終り : となりました。上記の検索リストからどのiostreamが使用されたと分かるのでしょうか? 因みにiostreamは # find / -name iostream /usr/include/g++-3/iostream /usr/include/c++/3.2.2/iostream /usr/local/gcc2/include/g++-3/iostream にあります。
お礼
$ g++ hoge.cc -M や $ g++ hoge.cc -E で出力できました。どうも有り難うございました。