
お世話になります。
Cで作成したファイルをビルドしたときに、エラーや警告ではないですが、
「Warning: パブリックシンボル _new_file がモジュール D:\MY DOCUMENTS\作業用フォルダ\MAIN.OBJ と D:\MY DOCUMENTS\作業用フォルダ\NEW_FILE.OBJ の両方に定義されている」
というメッセージが表示されます。
これは別にあってもなくても、プログラム自体は正常に動作するのですが、
なんとなくのどに物が詰まった感じがして嫌です。
そこで質問ですが、
1.この「パブリックシンボル」とは何か?
2.これが表示される原因は何か?
の2点について、お答えいただけませんでしょうか。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
>何をもって定義とされているかを見つけられずに苦しんでいます。
>いや、苦しむほどの問題というわけではないんですが。
たとえば、
1.両方のソースでstaticではない同じ名前の関数が存在する。
2.両方のソースにstaticではない同じ名前のグローバルな変数が宣言されている。
3.externがついていない変数の宣言がヘッダーファイル中で行われていて、そのヘッダーファイルを両方のソースがインクルードしている。
て、とこでしょう。
ようは、両方のソースをコンパイルして出来たobj中に、同じ名前のを持つ変数や関数があるよというリンカーの警告です。
ご回答ありがとうございました。
なんとなくですが、理解できました。
今回はちょっと時間が無いので、応急処置的にですが、
ご指摘の通り2つのファイルを一つにまとめると問題解決しましたので、
しばらくはこれでやっていこうと思います。
ありがとうございました。
No.1
- 回答日時:
>Cで作成したファイルをビルドしたときに、エラーや警告ではないですが、
あのー、"Warning"って警告なんですけど・・・
パブリックシンボルは、外部からも参照可能な変数や関数などのことです。
つまり、_new_fileがMAIN.C、NEW_FILE.Cの両方で定義されていますという警告です。
変数名か、関数名かはわかりませんが。
この回答への補足
ご回答ありがとうございました。
>あのー、"Warning"って警告なんですけど・・・
そうかもしれないなとか思いながら投稿してしまいました(笑)
うーん。
つまり、どういうことなんでしょう・・・。
両方で定義されていますっていうのはメッセージにも出てきてたのでわかるんですが、
何をもって定義とされているかを見つけられずに苦しんでいます。
いや、苦しむほどの問題というわけではないんですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部シンボル" ~~"は未解決で...
-
IP Helper APIを使うとエラーが...
-
wsprintfのエラーについて
-
C言語のエラー LNK1120: 外部参照
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
VBAを何回も作り直して、容量が...
-
DLLファイルの逆コンパイラにつ...
-
” OS ビルド ” の意味が分か...
-
unsigned long long 型のフォー...
-
Eclipseのブレークポイントが○...
-
他のLinuxでも動くa.outの作り方
-
DLL参照時に指定されたモジュー...
-
Makefile作成時の拡張子.oとは?
-
sys/time.hのインクルードがで...
-
user32.dllがないためアプリが...
-
Visual C++ 6.0 で作成したプロ...
-
AIXとCOBOLについて
-
ビープ音が鳴りません・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
外部シンボル" ~~"は未解決で...
-
未解決の外部シンボル
-
エラー 未解決の外部シンボル
-
このプログラムを動かしたいの...
-
LNK2019: 外部シンボル どのよ...
-
LNK2001(Pro*c)
-
C++STLについての質問です。
-
C言語のエラー LNK1120: 外部参照
-
PCをシャットダウンさせるプロ...
-
error LNK2001について
-
DB2付きのC言語がコンパイルで...
-
外部シンボルの未解決のエラー
-
パブリックシンボルとは?
-
libjpegに関する質問
-
MFC C++ と C++/CLI の文字列
-
LNK2019: 未解決の外部シンボル...
-
IP Helper APIを使うとエラーが...
-
クラスを使ったC++の関数を...
-
C++でdllの呼び出しについて
おすすめ情報