У меня есть раздел кода на C++ в MSVC2010, который создает оболочку DLL. Часть кода выглядит примерно так ...неудобный раздел экспорта DLL
extern "C" __declspec(dllexport) DWORD myDllExportFunction()
{
return (DWORD)SomeFunction(SomeParameter);
}
или ...
_declspec(dllexport) int64 _stdcall myDllExportFunction2(<someType> someParameter){
{
return new (DWORD)SomeExternalFunction(SomeParameter);
}
Я хотел бы ожидать моего экспорта раздел от делать DUMPBIN на этой DLL, чтобы содержать только полное имя функции однако это больше похоже на это.
[email protected] = [email protected]
Я не знаю, почему этот знак равенства есть или что это значит. У меня сильное чувство, что функция недоступна для программ, которые импортируют DLL, поскольку она не делает то, что она должна.
ради обеспечения достаточно информации, я включил некоторые из моих компилятора и компоновщика переключателей
параметры компилятора:
/Zi /nologo /Wall /WX- /O2 /Ob2 /Oi /Oy- /D "_WINDLL" /D "_MBCS" /D "_AFXDLL" /Gm- /EHsc /GS /fp:precise /Zc:wchar_t /Zc
компоновщика Параметры:
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\....\MyProj.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /PGD:"C:\....\MyProj.pgd" /TLBID:1 /DYNAMICBASE:NO /NXCOMPAT:NO /IMPLIB:"MyProj.lib" /MACHINE:X86 /ERRORREPORT:QUEUE
Примечание:/Implib:» MyProj.lib "-> Эта библиотека импорта имеет весь экспорт, который я хочу иметь в своей DLL, в формате, который я хочу, чтобы они были в DLL.
Есть ли какие-либо настройки в моих проектах, которые могут вызвать это? Были ли какие-либо изменения в dllexport за последние годы, которые я, возможно, пропустил? Есть ли какая-то информация, которую я мог бы предоставить вам, которая поможет вам понять мою проблему?
Удалите файл .pdb, чтобы получить менее путаный вывод. –