Visual Studio 2012を使用しています。
私のソリューションには3つのプロジェクトがあります
projectA
projectB
projectC
そして階層は
projectCはprojectBに依存しますprojectAに依存します。 projectCにはmain functionがあり、projectBとprojectAにはmainがありません。私が得ているエラーは次のとおりです。
error LNK1561: entry point must be defined projectA
error LNK1561: entry point must be defined projectB
構成プロパティ->リンカー->システム->サブシステムからコンソール(/ SUBSYSTEM:CONSOLE)で変更を試みましたが、問題はまだ解決しません
これから私を助けてください。
「モジュール」という用語を誤解しているようです。 Visual StudioにはそのようなC++プロジェクトはありません。 C++プロジェクトは、次の3つのカテゴリに分類できます。
exe
ファイルが生成されます。lib
ファイルを生成します。これは別のプロジェクトに含まれている場合があり、コンパイル中にリンクされます。dll
ファイルが生成されます。このファイルは実行時にプログラムに添付され、追加機能を提供します。説明から、projectBとprojectCを静的ライブラリにしたいが、実行可能ファイルとして作成した。新しいプロジェクトウィザードを再度実行し、「Windowsアプリケーション」ではなく「静的ライブラリ」を選択します。
MSDNライブラリ で静的ライブラリの詳細を読むことができます。
静的ライブラリがアプリケーションにとって非常に重い場合は、プロジェクトにprojectBおよびprojectCファイルを含めるだけでかまいません(オプションで、クラスの名前を混同しないように名前空間に注意してください)。これらはすべて、これらの「モジュール」に実装する予定の機能の量によって異なります。
プロパティ->リンカ->システム->サブシステムを "Windows(/ SUBSYSTEM:WINDOWS)"に設定します
おそらく何が起こっているのか、私で何が起こっていたかは、プロジェクトのプロパティを.exeから.dllに切り替えるときに、デバッグからリリースに、またはx86からx64に切り替えると、そのたびに、 。EXE。各構成には独自のプロパティがあります。
したがって、[プロパティ]> [構成タイプ]> [.dll]に移動します
実際に.dllを作成したい場合。
私はあなたがこのプロジェクトの作成にWindowsを使用していると推測します。私にとっては、通常SDLを使用している場合、このエラーが発生します。これを入力するだけで#include <Windows.h>
修正する必要があります。修正しない場合は、修正方法がわかりません。