나는이 파일이 있습니다재수출하는 방법 CLR C++ 정적 라이브러리
- foo.dll를
- foo.lib
- foo.exp
- bar.il
- bar.netmodule 을
"foo"는 내보내기 디렉토리에서 함수를 정의합니다.
는는 또한 비주얼 스튜디오 정적 모든 기능이 "foo는"에서 "foo는"과 재수출에 "줄"을 연결하는 내가 원하는 관리 "bar.dll"
을 만듭니다 2010 C++ 프로젝트가 . 결국
나는 foo는 및 foo는에서 정의 된 일부 추가 코드에서 함수를 내보낼 바를 원한다. 이 foo는와 바을 병합하는 대신 foo는를 참조대로 작동하지 않습니다 아래의 코드를 사용.
#pragma comment(linker, "/include:[email protected]")
어떻게하면됩니까?
은 참조 : http://msdn.microsoft.com/en-us/library/f0z8kac4(v=VS.100).aspx
CFF Explorer가 수출 디렉토리를 확인 : 또한 http://www.ntcore.com/exsuite.php
참조 :도 http://msdn.microsoft.com/en-us/library/k669k83h.aspx
참조 : 나는 그것을 알아 낸 http://blogs.msdn.com/b/texblog/archive/2007/04/05/linking-native-c-into-c-applications.aspx
call "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe" /DLL /LTCG /CLRIMAGETYPE:IJW /ASSEMBLYMODULE:bar.netmodule /OUT:bar.dll foo.lib bar.netmodule
foo.netmodule : fatal error LNK1302: only support linking safe .netmodules; unable to link ijw/native .netmodule
foo를 bar에 병합 할 수 있는지 잘 모르겠습니다. 내 보낸 심볼을 bar에서 foo로 전달할 수 있습니다. kernel32는 ntdll의 일부 기능을 수행합니다. 내보내기 라이브러리를 확인하고 싶다면 VS 명령 프롬프트에서 [depends] (http://www.dependencywalker.com) 또는'dumpbin/exports bar.dll '을 사용할 수도 있습니다. – Rup