test
이라는 함수 하나를 사용하여 Qt에 DLL을 만들었습니다. DLL을 문제없이 사용할 수있는 또 다른 Qt 프로젝트를 만들었습니다. 이제는이 DLL을 C# 응용 프로그램에서 사용하고 싶지만,이 함수를 호출하는 데 문제가 있습니다. 내 C# exe와 같은 폴더에 DLL을 배치했습니다. EntryPointNotFoundException
Qt에서 만든 DLL을 C# 응용 프로그램으로 가져 오는 방법
내가 같은 예외 내가 잘못 뭐하는 거지
을 내 같이 DllImport에 EntryPoint = test
를 추가하지만 여전히받을 시도 : 나는 다음과 같은 예외가 발생하므로
[DllImport("TestDll.dll", CharSet = CharSet.Ansi, SetLastError = true)]
private static extern bool test();
같은 기능을 가져?
테스트 방법을 DLL에서 내 보내셨습니까? Dependency Walker를 다운로드하여 내보내기에 나열되어 있는지 확인하십시오. http://www.dependencywalker.com/ – shf301
텍스트가없고 SetLastError = true가 잘못되었으므로 char set이 필요하지 않습니다. win apis에 대한 것입니다. 대부분의 DLL은 이름이 엉망입니다. 맹 글링을 피하려면 .def 파일로 내보내기하십시오. extern "C"를 사용해야합니다. 또한 일치하는 호출 규칙을 얻으십시오. C++ 코드는 cdecl을 사용합니다. C#의 기본값은 stdcall입니다. –
Qt의 정적 빌드가 설치되어 있지 않다는 느낌이 들었습니다. 아직 확실하지 않습니다. – poco