该项目建立在 Win32 平台上,而不是在 x64 上。
完整的错误消息:dllentry.obj:错误 LNK2001:无法解析的外部符号“类 CFactoryTemplate * g_Templates”(?g_Templates@@3PAVCFactoryTemplate@@A)
dllentry.cpp 可以在两个平台上编译。它包含外部声明:
extern CFactoryTemplate g_Templates[];
extern int g_cTemplates;
然后在两个函数中使用 g_Templates[]:
__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 平台构建项目?