質問編集履歴

7

文章を修正

2022/10/23 02:06

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- g++ ライブラリパスを指定してのライブラリリンクができない原因が知りたい
1
+ [SDL2][g++] ライブラリリンクしても未定義外部参照というエーの原因が知りたい
test CHANGED
@@ -1,6 +1,9 @@
1
- 提示画像ですが以下の画像のディレクトリ構造の内容で以下のコマンドを入力してみたのどれも以下Error発生してしいます
1
+ 提示のコマンドラインのコードですがなぜ以下のディレクトリ構造で以下のコマンドで未定義参照というエラー出るでしょうか?原因わかりせん
2
- これはどうやってライブラリパスを指定するのでしょうか?
3
2
 
3
+
4
+ ##### ダウンロードしてきたファイル
5
+ Github: https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
6
+ ダウンロードファイル: SDL2-devel-2.24.1-mingw.zip
4
7
 
5
8
  ##### 環境
6
9
  OS windows10
@@ -8,60 +11,29 @@
8
11
  コンパイラ: g++
9
12
 
10
13
  ##### フォルダ構成
11
- sdlディレクトリ内にSDL2ディレクトリがありインクルファイルがあります。libディレクトリありそこに.a等のファイルが入っています
14
+ sdlディレクトリ内にlib(.libファイル)ディレクトリ、SDL2(インクルード)ディレクトリがあります。Main.cppソファイルもsdlディレクトリ内にあります
12
- またsdlディレクトリの中にMain.cppソースファイルがあります。コードは下記参照
13
15
 
14
-
15
- ##### 試したこと
16
- 1,参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
17
- 2,コマンド部より複数のコマンドを実行
18
- 3,Githubサイトより[SDL2-2.24.1-win32-x64.zip],[SDL2-2.24.1.zip],[SDL2-devel-2.24.1-mingw.zip],[SDL2-devel-2.24.1-VC.zip]をそれぞれダウンロードしてきてそれぞれのコマンドで実行
19
- 4,回答より指定されたコマンドを実行しましたが未定義のエラーが発生します。
20
-
21
- ##### 参考サイト
22
- sdl2: https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
23
- 参考サイト:https://qiita.com/edo_m18/items/9dfab147482b2ce31840
24
- 参考サイト2:https://stackoverflow.com/questions/17048072/sdl-2-undefined-reference-to-winmain16-and-several-sdl-functions
25
16
  ##### コマンド
26
17
  ```
27
- g++ -I . Main.cpp -o -Llib -lSDL2
28
- g++ -I . Main.cpp -o -L/lib -lSDL2
29
- g++ -I . Main.cpp -o -Llib/ -lSDL2
30
- ```
31
-
32
- ##### 回答部より実行したコマンド
33
- ```
34
- C:\Users\yw325\Desktop\sdl>g++ -I. Main.cpp -o main.exe -Llib/ -lSDL2main -lSDL2
18
+ C:\Users\yw325\Desktop\sdl>g++ -I. Main.cpp -Llib/ -lSDL2 -lSDL2main
35
- c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccJczVkq.o:Main.cpp:(.text+0xe): undefined reference to `SDL_Init'
19
+ c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccJaJxMJ.o:Main.cpp:(.text+0xe): undefined reference to `SDL_Init'
36
- c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccJczVkq.o:Main.cpp:(.text+0x13): undefined reference to `SDL_Quit'
20
+ c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccJaJxMJ.o:Main.cpp:(.text+0x13): undefined reference to `SDL_Quit'
37
21
  c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../libmingw32.a(main.o):(.text.startup+0xc0): undefined reference to `WinMain@16'
38
22
  collect2.exe: error: ld returned 1 exit status
39
23
 
40
- ```
41
-
42
-
43
- ##### Error 1
44
- ```
45
- C:\Users\yw325\Desktop\sdl>g++ -I . Main.cpp -o -Llib -lSDL2
24
+ C:\Users\yw325\Desktop\sdl>
46
- c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL2
47
- collect2.exe: error: ld returned 1 exit status
48
-
49
- ```
50
- ##### Error 2
51
- ```
52
- C:\Users\yw325\Desktop\sdl>g++ -I. Main.cpp -o main.exe -lmingw32 -Llib/ -lSDL2main -lSDL2
53
- c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccLlAY3w.o:Main.cpp:(.text+0x16): undefined reference to `SDL_Init'
54
- c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccLlAY3w.o:Main.cpp:(.text+0x1b): undefined reference to `SDL_Quit'
55
- collect2.exe: error: ld returned 1 exit status
56
25
  ```
57
26
 
58
27
 
59
28
 
60
29
  ##### ソースコード
61
30
  ```cpp
31
+ #include <iostream>
62
- #include <SDL2/SDL.h>
32
+ #include "SDL2/SDL.h"
33
+ //#include <SDL2/SDL.h>
63
34
 
35
+
64
- int main(int argc, char* args[])
36
+ int main()
65
37
  {
66
38
  SDL_Init(SDL_INIT_EVERYTHING);
67
39
 
@@ -69,4 +41,5 @@
69
41
 
70
42
  return 0;
71
43
  }
44
+
72
45
  ```

6

文章を修正

2022/10/20 00:58

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -13,10 +13,10 @@
13
13
 
14
14
 
15
15
  ##### 試したこと
16
- 参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
16
+ 1,参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
17
- コマンド部より複数のコマンドを実行
17
+ 2,コマンド部より複数のコマンドを実行
18
- Githubサイトより[SDL2-2.24.1-win32-x64.zip],[SDL2-2.24.1.zip],[SDL2-devel-2.24.1-mingw.zip],[SDL2-devel-2.24.1-VC.zip]をそれぞれダウンロードしてきてそれぞれのコマンドで実行
18
+ 3,Githubサイトより[SDL2-2.24.1-win32-x64.zip],[SDL2-2.24.1.zip],[SDL2-devel-2.24.1-mingw.zip],[SDL2-devel-2.24.1-VC.zip]をそれぞれダウンロードしてきてそれぞれのコマンドで実行
19
-
19
+ 4,回答より指定されたコマンドを実行しましたが未定義のエラーが発生します。
20
20
 
21
21
  ##### 参考サイト
22
22
  sdl2: https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
@@ -28,6 +28,17 @@
28
28
  g++ -I . Main.cpp -o -L/lib -lSDL2
29
29
  g++ -I . Main.cpp -o -Llib/ -lSDL2
30
30
  ```
31
+
32
+ ##### 回答部より実行したコマンド
33
+ ```
34
+ C:\Users\yw325\Desktop\sdl>g++ -I. Main.cpp -o main.exe -Llib/ -lSDL2main -lSDL2
35
+ c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccJczVkq.o:Main.cpp:(.text+0xe): undefined reference to `SDL_Init'
36
+ c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccJczVkq.o:Main.cpp:(.text+0x13): undefined reference to `SDL_Quit'
37
+ c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../libmingw32.a(main.o):(.text.startup+0xc0): undefined reference to `WinMain@16'
38
+ collect2.exe: error: ld returned 1 exit status
39
+
40
+ ```
41
+
31
42
 
32
43
  ##### Error 1
33
44
  ```

5

文章を修正

2022/10/19 00:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -7,15 +7,21 @@
7
7
  エディタ Vscode
8
8
  コンパイラ: g++
9
9
 
10
+ ##### フォルダ構成
11
+ sdlディレクトリ内にSDL2ディレクトリがありインクルードファイルがあります。libディレクトリがありそこに.a等のファイルが入っています
12
+ またsdlディレクトリの中にMain.cppソースファイルがあります。コードは下記参照
13
+
14
+
10
15
  ##### 試したこと
11
16
  参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
17
+ コマンド部より複数のコマンドを実行
12
- sdl2(mingw.zipをダウンロード): https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
18
+ Githubサイトより[SDL2-2.24.1-win32-x64.zip],[SDL2-2.24.1.zip],[SDL2-devel-2.24.1-mingw.zip],[SDL2-devel-2.24.1-VC.zip]をそれぞれダウンロードしてきてそれぞれのコマンドで実行
13
19
 
20
+
21
+ ##### 参考サイト
22
+ sdl2: https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
14
23
  参考サイト:https://qiita.com/edo_m18/items/9dfab147482b2ce31840
15
24
  参考サイト2:https://stackoverflow.com/questions/17048072/sdl-2-undefined-reference-to-winmain16-and-several-sdl-functions
16
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-18/96cf1e85-fd5b-499a-9de3-6e9e337d73f2.png)
17
- ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-18/b86bbfbd-ef5b-444e-9447-c86ce40efbc3.png)
18
-
19
25
  ##### コマンド
20
26
  ```
21
27
  g++ -I . Main.cpp -o -Llib -lSDL2

4

文章を修正

2022/10/18 23:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -7,9 +7,10 @@
7
7
  エディタ Vscode
8
8
  コンパイラ: g++
9
9
 
10
+ ##### 試したこと
11
+ 参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
12
+ sdl2(mingw.zipをダウンロード): https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
10
13
 
11
- sdl2(mingw.zipをダウンロード): https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
12
- 参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
13
14
  参考サイト:https://qiita.com/edo_m18/items/9dfab147482b2ce31840
14
15
  参考サイト2:https://stackoverflow.com/questions/17048072/sdl-2-undefined-reference-to-winmain16-and-several-sdl-functions
15
16
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-18/96cf1e85-fd5b-499a-9de3-6e9e337d73f2.png)

3

文章を修正

2022/10/18 10:13

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,12 @@
1
1
  提示画像ですが以下の画像のディレクトリ構造の内容で以下のコマンドを入力してみたのですがどれも以下のErrorが発生してしまいます。
2
2
  これはどうやってライブラリパスを指定するのでしょうか?
3
+
4
+
5
+ ##### 環境
6
+ OS windows10
7
+ エディタ Vscode
8
+ コンパイラ: g++
9
+
3
10
 
4
11
  sdl2(mingw.zipをダウンロード): https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
5
12
  参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。

2

文章を修正

2022/10/18 08:56

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,7 @@
1
1
  提示画像ですが以下の画像のディレクトリ構造の内容で以下のコマンドを入力してみたのですがどれも以下のErrorが発生してしまいます。
2
2
  これはどうやってライブラリパスを指定するのでしょうか?
3
3
 
4
-
4
+ sdl2(mingw.zipをダウンロード): https://github.com/libsdl-org/SDL/releases/tag/release-2.24.1
5
5
  参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
6
6
  参考サイト:https://qiita.com/edo_m18/items/9dfab147482b2ce31840
7
7
  参考サイト2:https://stackoverflow.com/questions/17048072/sdl-2-undefined-reference-to-winmain16-and-several-sdl-functions

1

文章を修正

2022/10/18 08:55

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,10 @@
1
1
  提示画像ですが以下の画像のディレクトリ構造の内容で以下のコマンドを入力してみたのですがどれも以下のErrorが発生してしまいます。
2
2
  これはどうやってライブラリパスを指定するのでしょうか?
3
3
 
4
+
5
+ 参考サイト2より順序にきおつけてError2のように実行したのですがエラーが出ます。
4
6
  参考サイト:https://qiita.com/edo_m18/items/9dfab147482b2ce31840
5
-
7
+ 参考サイト2:https://stackoverflow.com/questions/17048072/sdl-2-undefined-reference-to-winmain16-and-several-sdl-functions
6
8
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-18/96cf1e85-fd5b-499a-9de3-6e9e337d73f2.png)
7
9
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-10-18/b86bbfbd-ef5b-444e-9447-c86ce40efbc3.png)
8
10
 
@@ -13,13 +15,22 @@
13
15
  g++ -I . Main.cpp -o -Llib/ -lSDL2
14
16
  ```
15
17
 
16
- ##### Error
18
+ ##### Error 1
17
19
  ```
18
20
  C:\Users\yw325\Desktop\sdl>g++ -I . Main.cpp -o -Llib -lSDL2
19
21
  c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: cannot find -lSDL2
20
22
  collect2.exe: error: ld returned 1 exit status
21
23
 
22
24
  ```
25
+ ##### Error 2
26
+ ```
27
+ C:\Users\yw325\Desktop\sdl>g++ -I. Main.cpp -o main.exe -lmingw32 -Llib/ -lSDL2main -lSDL2
28
+ c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccLlAY3w.o:Main.cpp:(.text+0x16): undefined reference to `SDL_Init'
29
+ c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\yw325\AppData\Local\Temp\ccLlAY3w.o:Main.cpp:(.text+0x1b): undefined reference to `SDL_Quit'
30
+ collect2.exe: error: ld returned 1 exit status
31
+ ```
32
+
33
+
23
34
 
24
35
  ##### ソースコード
25
36
  ```cpp