관리되는 C++에서 관리되지 않는 DLL을 호출하려고합니다. DLL에 둘 이상의 네이티브 종속성이 있습니다. Visual Studio를 통해 이것을 컴파일하려고합니다.관리되는 C++에서 관리되지 않는 DLL을 호출하는 방법
내가 수행 한 다음
추가 DLL 및 속성에 lib 디렉토리가 포함 된 디렉토리 -> VC++ 디렉터리 -> 라이브러리 디렉토리
추가 속성에 관리되지 않는 lib 디렉토리 -> 입력 -> 추가 종속성
그러나 내가 참조하는 함수에 대한 링크 오류가 발생합니다. 라이브러리의 헤더 파일을 제외하고 프로젝트에 DLL이나 lib를 추가하지 않았습니다.
업데이트 : 그래서 .lib를 찾을 수 있습니다. 추가 종속성에서 위조 된 .lib를 주면 .lib의 컴파일 오류를 찾을 수 없기 때문에 .lib를 찾을 수 있습니다. 내가 가진 오류는 "해결되지 않은 토큰 ...."입니다.
프로젝트에 lib 파일을 지정해야합니다. 또한 DLL은 빌드 프로세스에서 사용되지 않으므로 설명에서 DLL을 언급하는 것이 논점입니다. DLL은 런타임에가 아니라 런타임에 사용됩니다. – PaulMcKenzie
이것을 알아 내면 솔루션을 게시하십시오. 최근에이 문제로 어려움을 겪고 있습니다. 나는 다른 컴파일러에서 관리되지 않는 DLL을 작성하고 PInvoke를 사용하는 C#에서 정상적으로 작동하며 헤더는 관리되는 C++에서 정상적으로 컴파일되지만 .lib는 올바르게 연결되지 않으며 링커는 일부 god-awful-ugly clr- VC++에서만 DLL을 작성하면 VC++ 만 생성하는 것으로 보이는 이름 기반 가져 오기 이름. 나는 비 -VC++ 컴파일러를 사용해야한다. VC++은 옵션이 아니다 (코드를 마이그레이션 할 수 없다). 그러나 DLL이 관리되는 C++에서 올바르게 작동 할 필요가있다. '.def' 파일을 사용해도 도움이되지 않거나 구문이 올바로 표시되지 않습니다. –
링커 오류 메시지를 게시하십시오! –