未解決の外部エラーを特定するのに苦労しています。
コアプロジェクトを共有する2つの異なるソリューションがあります。ソリューション#1はSnapGameと呼ばれ、ソリューション#2はSnapEditorと呼ばれます。コアプロジェクトはSnapCoreと呼ばれます。
私のSnapGameソリューションはWin32アプリケーションです。SnapCoreプロジェクトを問題なくコンパイル、参照、リンクします。
SnapEditorソリューションはWindowsフォームアプリケーションです。SnapCoreプロジェクトをコンパイルして参照します。ただし、正しくリンクされません。SnapCoreプロジェクトから何かを参照しようとすると、未解決の外部エラーが発生します。
SnapCoreプロジェクトには、いくつかのGDI+サポートクラスがあります。SnapCoreプロジェクトのすべてのクラスは、SnapCore名前空間の下にあります。
Form1.cppファイルは次のとおりです。
#include "stdafx.h"
#include "App.h"
#include "Orient.h"
using namespace SnapCore;
using namespace SnapEdit;
void Form1::Init()
{
SnapCore::Orient orient;
new App();
}
取得したリンカーエラーは次のとおりです。
1>Form1.obj : warning LNK4248: unresolved typeref token (01000049) for 'Gdiplus.GpCachedBitmap'; image may not run
1>Form1.obj : error LNK2028: unresolved token (0A000019) "public: __clrcall SnapCore::App::App(void)" (??0App@SnapCore@@$$FQAM@XZ) referenced in function "public: void __clrcall SnapEdit::Form1::InitSnapCore(void)" (?InitSnapCore@Form1@SnapEdit@@$$FQ$AAMXXZ)
1>Form1.obj : error LNK2028: unresolved token (0A00001A) "public: __clrcall SnapCore::Orient::Orient(void)" (??0Orient@SnapCore@@$$FQAM@XZ) referenced in function "public: void __clrcall SnapEdit::Form1::InitSnapCore(void)" (?InitSnapCore@Form1@SnapEdit@@$$FQ$AAMXXZ)
1>Form1.obj : error LNK2019: unresolved external symbol "public: __clrcall SnapCore::App::App(void)" (??0App@SnapCore@@$$FQAM@XZ) referenced in function "public: void __clrcall SnapEdit::Form1::InitSnapCore(void)" (?InitSnapCore@Form1@SnapEdit@@$$FQ$AAMXXZ)
1>Form1.obj : error LNK2019: unresolved external symbol "public: __clrcall SnapCore::Orient::Orient(void)" (??0Orient@SnapCore@@$$FQAM@XZ) referenced in function "public: void __clrcall SnapEdit::Form1::InitSnapCore(void)" (?InitSnapCore@Form1@SnapEdit@@$$FQ$AAMXXZ)
1>C:\Work\PC\SnapEdit\SnapEdit\Debug\SnapEdit.exe : fatal error LNK1120: 4 unresolved externals
SnapGameソリューションが問題なくリンクする理由を理解できませんが、SnapEditorソリューションは問題なくリンクします。
どんな助けでもいただければ幸いです。