質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

g++ デフォルトのライブラリの場所が知りたい。

退会済みユーザー

退会済みユーザー

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

2回答

0グッド

0クリップ

657閲覧

投稿2022/10/17 23:51

編集2022/10/18 07:02

提示コードですが以下のコードをコンパイルするにあたりデフォルトのインクルードファイルを読み込むディレクトリとライブラリファイルを読み込むディレクトリの場所が知りたいです。/usr/lib,/usr/include という説明がありますがこれはwindows上ではどこなのでしょうか?

試したこと

C:\Users\yw325>echo | g++ -E -Wp,-v -コマンドを実行しましたがc:\mingw\bin\のパスが三つありどれかわかりません。おそらくc:\mingwの先のパスだと思うのですがわかりません。

lib: C:\MinGW\lib
inlcude C:\MinGW\include
の場所に配置しましたがundefined というエラーが出ます。

C:\Users\yw325>echo | g++ -E -Wp,-v - ignoring nonexistent directory "c:\mingw\bin\../lib/gcc/mingw32/9.2.0/../../../../mingw32/include" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/9.2.0/include" ignoring duplicate directory "/mingw/lib/gcc/mingw32/9.2.0/../../../../include" ignoring duplicate directory "c:/mingw/lib/gcc/../../include" ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/9.2.0/include-fixed" ignoring nonexistent directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/9.2.0/../../../../mingw32/include" ignoring duplicate directory "/mingw/include" #include "..." search starts here: #include <...> search starts here: c:\mingw\bin\../lib/gcc/mingw32/9.2.0/include c:\mingw\bin\../lib/gcc/mingw32/9.2.0/../../../../include c:\mingw\bin\../lib/gcc/mingw32/9.2.0/include-fixed End of search list. # 1 "<stdin>" # 1 "<built-in>" # 1 "<command-line>" # 1 "<stdin>" ECHO ヘ <ON> ナキB <stdin>:1: fatal error: when writing output to : No space left on device compilation terminated.

g++: https://kaworu.jpn.org/cpp/g%2B%2B#.E3.83.A9.E3.82.A4.E3.83.96.E3.83.A9.E3.83.AA.E3.82.92.E3.83.AA.E3.83.B3.E3.82.AF.E3.81.99.E3.82.8B

参考サイト:https://stackoverflow.com/questions/23231344/using-sdl2-on-linux-with-g

SDL: https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1

コマンド
g++ teste.cpp -o filename -lSDL2

cpp

1 #include "SDL2/SDL.h" 2 3 4 int main(int argc, char* args[]) 5 { 6 SDL_Init(SDL_INIT_EVERYTHING); 7 8 SDL_QUIT(); 9 return 0; 10 }

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/10/18 00:45依頼された後にこの質問は修正されています

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

BeatStar

2022/10/18 00:50

というか、Windows上ならExplorer (IEじゃない方)の「検索窓」を使うか、コマンドプロンプトから dir *g++* /s /b みたいに検索すればいいのでは。 Cygwinみたいに(Windows上で)*nix系のコマンドが使えるなら whereis g++ とかで調べるとかも方法としてはありますよ。

回答2

1

ベストアンサー

参考までに、Ubuntu Linux 上での表示方法です。

bash

1$ g++ --version 2g++ (Ubuntu 11.2.0-19ubuntu1) 11.2.0 3 4# include path 5$ echo | g++ -E -Wp,-v - 6#include "..." search starts here: 7#include <...> search starts here: 8 /usr/lib/gcc/x86_64-linux-gnu/11/include 9 /usr/local/include 10 /usr/include/x86_64-linux-gnu 11 /usr/include 12End of search list. 13# 0 "<stdin>" 14# 0 "<built-in>" 15# 0 "<command-line>" 16# 1 "/usr/include/stdc-predef.h" 1 3 4 17# 0 "<command-line>" 2 18# 1 "<stdin>" 19 20# library path (出力行が長いので途中まで) 21$ g++ -print-search-dirs | grep '^libraries' 22libraries: =/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/11/:... 23 24# もしくは、 25$ g++ -Wl,--verbose 2>/dev/null | grep -Po 'SEARCH_DIR\("=\K(.+?)(?="\))' 26/usr/local/lib/x86_64-linux-gnu 27/lib/x86_64-linux-gnu 28/usr/lib/x86_64-linux-gnu 29/usr/lib/x86_64-linux-gnu64 30/usr/local/lib64 31/lib64 32/usr/lib64 33/usr/local/lib 34/lib 35/usr/lib 36/usr/x86_64-linux-gnu/lib64 37/usr/x86_64-linux-gnu/lib

投稿2022/10/18 03:25

編集2022/10/18 03:27
melian

総合スコア16433

spoofy_dragon👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

退会済みユーザー

退会済みユーザー

2022/10/18 06:40

質問ですが 一部省略していますが。以下ような出力結果となったのですがこれのどこがインクルードディレクトリでどこがラ イブラリディレクトリなのでしょうか?`c:\mingw\bin\`から始める三つのパスのどれなのでしょうか? ``` #include "..." search starts here: #include <...> search starts here: c:\mingw\bin\../lib/gcc/mingw32/9.2.0/include c:\mingw\bin\../lib/gcc/mingw32/9.2.0/../../../../include c:\mingw\bin\../lib/gcc/mingw32/9.2.0/include-fixed End of search list. # 1 "<stdin>" # 1 "<built-in>" # 1 "<command-line>" # 1 "<stdin>" ECHO ヘ <ON> ナキB <stdin>:1: fatal error: when writing output to : No space left on device compilation terminated. ```
melian

2022/10/18 06:45

> Fatal error: when writing output to : No space left on device こちらのエラーメッセージが気になりますが、、それはさておき、 > c:\mingw\bin\`から始める三つのパスのどれなのでしょうか? それらは全てインクルードパスになります。 リンクするライブラリのサーチパスは、Ubuntu Linux 上では以下になりますが、 g++ -Wl,--verbose 2>/dev/null | grep -Po 'SEARCH_DIR\("=\K(.+?)(?="\))' Windows 上で GNU grep コマンドが利用できない場合は目視で確認することになります。
退会済みユーザー

退会済みユーザー

2022/10/18 06:50

ありがとうございます。自分は今SDL2ライブラリのコンパイルを行いたいのですがそのパスにインクルードディレクトリとlibxx.aファイル等を置けばいいのでしょうか?
退会済みユーザー

退会済みユーザー

2022/10/18 07:03

lib: C:\MinGW\lib inlcude C:\MinGW\include 上記の場所にそれぞれファイルを置きましたがコマンド実行時にundefined というエラーが出てしまいます。
melian

2022/10/18 07:03

はい、そうなりますが、、、g++ の -I や -L オプションで SDL2 のインクルードファイルやライブラリが置かれているディレクトリを指定する方がよいのではないかと思います。
melian

2022/10/18 07:08

ああ、すみません、勘違いしていました。 #include "SDL2/SDL.h" を #include <SDL2/SDL.h> に変更してみて下さい。

0

g++ のコマンドラインに -v を付けると表示されるかもしれません。
(Windows ではやったことないので確証はありませんが)

投稿2022/10/17 23:58

int32_t

総合スコア17276

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

BeatStar

2022/10/18 00:46

Windows上でやってみましたが一応出てきますよ。 ただもしかしたら初心者の方だとわかりにくいかもしれません…。
int32_t

2022/10/18 00:50

BeatStar さん、確認ありがとうございます。 BeatStar さんが出力例を入れた回答を書いて、「〜がデフォルトのインクルード/ライブラリディレクトリだよ」と示してくれるとよりよいQAになると思います。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。