木村まさかず

[戻る]
.aru異なる.cを複数個入れた状況で、1つのプロジェクトを作ったが、リンクで問題が。 2016/03/17(木) 11:33:45
Visual Studio 2005で、
1つのディレクトリの中に、複数個、異なる.cを入れて、
プロジェクトの種類を、Windowsアプリケーション プロジェクトに指定して、
プロジェクトを作り、ビルドをかけたのですが、
リンクの最中に、下記のエラーが出ました。
複数、.cを入れても、コンパイルはかかるとは聞いていたのですが、
どこかに、何らかの指定でも要るのでしょうか?

1>DENOISE.obj : error LNK2005: _main は既に COMP2D.obj で定義されています。
1>fwtest.obj : error LNK2005: _main は既に COMP2D.obj で定義されています。
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が
関数 ___tmainCRTStartup で参照されました。

瀬戸っぷ [E-Mail] 2016/03/17(木) 12:24:51
>複数、.cを入れても、コンパイルはかかるとは聞いていたのですが、

コンパイルはできていますよ。
リンクできないだけで。
まあ、今回の場合は…main()がいくつもあるからEXEにした時にどれを使ったらよござんしょ?
ってことです。

そういう場合は
「1つのソリューションに複数のプロジェクト」で対処するべきかと。
# 個別にソリューション作ってもいいですけどね。

例えば…
「Windowsアプリケーション練習」ってソリューションに
 「DENOISE」ってプロジェクトと
 「fwtest」ってプロジェクトを含める。
みたいな。


『Windowsアプリケーション プロジェクト』なので、デフォルトで必要とされるのは
WinMain()であり、main()ではないですけどね。
そのエラーメッセージが、
>1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が
>関数 ___tmainCRTStartup で参照されました。
です。

木村まさかず 2016/03/23(水) 16:30:46
[[解決]]
瀬戸っぷさん

ありがとうございます。
言われるようにやってみたら、
うまくいきました。
今後ともよろしくお願いします。

古いスレッドには追加発言できません。