DLL 래퍼를 만드는 MSVC2010에 C++ 코드 섹션이 있습니다. 코드의 섹션부적절한 DLL 내보내기 섹션
_declspec(dllexport) int64 _stdcall myDllExportFunction2(<someType> someParameter){
{
return new (DWORD)SomeExternalFunction(SomeParameter);
}
난 그냥 완전한 함수 이름을 포함하도록이 DLL에 DUMPBIN을하고부터 내 수출 섹션을 기대 ...
extern "C" __declspec(dllexport) DWORD myDllExportFunction()
{
return (DWORD)SomeFunction(SomeParameter);
}
나 ...를 다음과 같이 보입니다 그러나 그것은 더 많이 이것처럼 보인다.
[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 파일을 삭제하십시오. –