複数のc++ファイルをvisual studio 2019でビルドするとリンクエラーLINK2005が表示
されますが、初心者のためエラーの回避ができません。一体何がいけないのでしょうか?
また、具体的回避策を教えていただければありがたいです。
プログラム内ではvoid cdel_***などは使用しておりません。
どうぞ、よろしくおねがいします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
同じ名前の関数を2箇所で定義していませんか?C言語の処理ではコンパイルはファイル単位で行って、最後にリンクするのですが、定義が衝突するとリンク時にエラーとなります。
_cdecl
はデフォルトで入るものなので、無視して読んでください。main
やexpression
といった関数が複数のソースファイルで定義されているようです。
投稿2019/11/26 07:45
総合スコア145971
0
せっかく添付されているのだからreadme読むことです。
複数のmain関数が定義されてる事から、1つのプロジェクト内に複数のexeを作るためのソースが混在している事がわかります。
それらをプロジェクトから外してください。
具体的な作業としては、
Visual C++を使う場合の入力コマンド例
に出現しないファイルは不要です。
投稿2019/11/28 02:22
総合スコア15149
0
CじゃなくてC++なら話はかんたんで、ヘッダーファイルに関数を定義するときはinlineをつけましょう。以上です。
Cだと歴史的経緯も絡んで複雑で解説したくありません。
readmeにファイルの説明があるんですが読みましたかね・・・?
main関数を含むものの説明だけ抜き出しておきましょう
bbi.cpp メイン処理
token_p.cpp 字句解析プログラム(本書掲載)
polish_p.cpp 逆ポーランド記法プログラム(本書掲載)
minicalc.cpp 電卓プログラム(本書掲載)
これら全部を含めてコンパイルしたのではありませんか?bbi.cpp
以外のmain関数を含むファイルはそれぞれ独立したものです。
投稿2019/11/26 13:56
編集2019/11/28 03:53総合スコア5852
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/27 05:51
2019/11/27 06:08
2019/11/27 06:10
2019/11/27 06:23
2019/11/27 09:55
2019/11/28 01:28
2019/11/28 01:40
2019/11/28 02:13
2019/11/28 03:46
2019/11/29 07:11
2019/12/02 23:51
2019/12/03 05:56
0
ベストアンサー
エスパー回答だけど、関数を定義したヘッダを複数の~.cppで #include してないかしら。
投稿2019/11/26 11:34
総合スコア16612
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/26 12:19
2019/11/26 18:09
2019/11/27 05:50
2019/11/27 05:59
2019/11/27 06:11
2019/11/27 06:19
2019/11/27 06:25
2019/11/27 06:58
2019/11/27 07:00
2019/11/27 07:17
2019/11/27 07:25 編集
2019/11/27 07:31
2019/11/27 07:44 編集
2019/11/27 09:33
2019/11/27 09:35
2019/11/27 09:44
2019/11/28 01:23
2019/11/28 01:24
2019/11/28 01:25
2019/11/28 01:29
2019/11/28 01:30
2019/11/28 01:32
2019/11/28 01:32
2019/11/28 01:39
2019/11/28 01:47
2019/11/28 01:47
2019/11/28 01:49 編集
2019/11/28 02:45
2019/11/29 03:22
2019/11/29 03:27
2019/11/29 03:54
2019/11/29 07:10
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/26 12:18