プロジェクトは Win32 プラットフォームでビルドされますが、x64 ではビルドされません。
完全なエラー メッセージ: dllentry.obj : エラー LNK2001: 未解決の外部シンボル "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)
dllentry.cpp は両方のプラットフォームでコンパイルされます。外部宣言が含まれています。
extern CFactoryTemplate g_Templates[];
extern int g_cTemplates;
g_Templates[] は、次の 2 つの関数で使用されます。
__control_entrypoint(DllExport) STDAPI DllGetClassObject(__in REFCLSID rClsID,
__in REFIID riid, __deref_out void **pv)
{
...
for (int i = 0; i < g_cTemplates; i++)
{
const CFactoryTemplate * pT = &g_Templates[i];
}
}
と
DllInitClasses(BOOL bLoading)
{
...
for (int i = 0; i < g_cTemplates; i++)
{
const CFactoryTemplate * pT = &g_Templates[i];
}
}
プロジェクト設定ですべてのライブラリを確認しましたが、すべて問題ないようで、64 ビット バージョンが使用されています。プロジェクトを x64 プラットフォーム用にビルドするにはどうすればよいですか?