main.obj : error LNK2001: 外部シンボル ""unsigned int count" (?count@@3IA)" は未解決です。
ball.obj : error LNK2001: 外部シンボル ""struct chara ball" (?ball@@3Uchara@@A)" は未解決です。
laser.obj : error LNK2001: 外部シンボル ""struct chara ball" (?ball@@3Uchara@@A)" は未解決です。
init.obj : error LNK2001: 外部シンボル ""struct chara ball" (?ball@@3Uchara@@A)" は未解決です。
graph.obj : error LNK2001: 外部シンボル ""struct chara ball" (?ball@@3Uchara@@A)" は未解決です。
enemy.obj : error LNK2001: 外部シンボル ""struct chara enemy" (?enemy@@3Uchara@@A)" は未解決です。
laser.obj : error LNK2001: 外部シンボル ""struct chara enemy" (?enemy@@3Uchara@@A)" は未解決です。
init.obj : error LNK2001: 外部シンボル ""struct chara enemy" (?enemy@@3Uchara@@A)" は未解決です。
graph.obj : error LNK2001: 外部シンボル ""struct chara enemy" (?enemy@@3Uchara@@A)" は未解決です。
laser.obj : error LNK2001: 外部シンボル ""struct chara laser1" (?laser1@@3Uchara@@A)" は未解決です。
init.obj : error LNK2001: 外部シンボル ""struct chara laser1" (?laser1@@3Uchara@@A)" は未解決です。
graph.obj : error LNK2001: 外部シンボル ""struct chara laser1" (?laser1@@3Uchara@@A)" は未解決です。
laser.obj : error LNK2001: 外部シンボル ""unsigned int time" (?time@@3IA)" は未解決です。
laser.obj : error LNK2001: 外部シンボル ""struct chara * laser" (?laser@@3PAUchara@@A)" は未解決です。
こんなのが死ぬほど出てくるのですが・・・
これはなんなんですか??w
前も同じような症状になって何かしてたら直ってたと思ったのですが
治し方忘れてしまって困りました。。。。
分割コンパイルしようとしてたら急に出てきたんですが
これの対処法はどうしたらいいんでしょう。
ヘッダファイルで変数をextern宣言したときは
どうすればよいのでしょうか??
kwsk教えてください
よろしくお願いします
エラーLNK2001
Re:エラーLNK2001
> main.obj : error LNK2001: 外部シンボル ""unsigned int count" (?count@@3IA)" は未解決です。 変数countの実体を、main.c以外のファイルで定義してあると思います。 どんな風に定義してありますか? 以下の同じ種類のエラーについても、同じように調べてみてください。 > ヘッダファイルで変数をextern宣言したときは > どうすればよいのでしょうか?? externは、「どこか別のファイルで実体を定義した変数をこっちのファイルで使う」という意味です。 どこか一ヶ所で、実体を定義する必要があります。 例えば、main.c で int 型の変数 hoge の実体を定義して、それを他のファイル(sub.c)で使うときは、 こんな方法があると思います。 【main.c】 #define MAIN #include "externs.h" // MAIN を define しているので、EXTERN が無効となり、hoge の実体を定義する 【sub.c】 #include "externs.h" // MAIN を define していないので、EXTERN が extern に置き換わり、main.c で定義した hoge の実体を参照する 【externs.h】 #ifndef __EXTERNS_H // 多重インクルードの防止 #define __EXTERNS_H #ifdef MAIN #define EXTERN /* 何もしない */ #else #define EXTERN extern #endif /* MAIN */ EXTERN int hoge; #endif /* !__EXTERNS_H */ > kwsk教えてください kwskって何ですか?「詳しく」の省略記法か何かですか?
Re:エラーLNK2001
返信遅くなってすいません
なるほど
やっと意味がわかりました
だからヘッダファイルでextern宣言して、
それをインクルードすると他のファイルで使われている変数が使えるのですか
Dixqさまがhファイルをインクルードするってことは
hファイルをインクルードした場所にhファイルのソースがそのまんまかかれるみたいなものだと
おっしゃってましたし
自己解決しました
ありがとうございましたm(__)m
なるほど
やっと意味がわかりました
だからヘッダファイルでextern宣言して、
それをインクルードすると他のファイルで使われている変数が使えるのですか
Dixqさまがhファイルをインクルードするってことは
hファイルをインクルードした場所にhファイルのソースがそのまんまかかれるみたいなものだと
おっしゃってましたし
自己解決しました
ありがとうございましたm(__)m