문제

나는 정기적으로 실행으로 유사한 상황:내가 무리의 COM.DLLs(no IDL 파일)를 사용해야하고 호출에 액세스할 수 있어 어떤 외국인(아닌 오픈,비 문서화된)데이터 형식입니다.

Microsoft Visual Studio 에서 플랫폼은 매우 좋은 기능을 가져오는 등 COM Dll 을 사용하여 그들 내에서 프로젝트(Visual C++'s#가져오기 지침,또는 채집하고 추가 사용하여 그들 Visual Basic.순이의 대화)-그 공급업체 추천 방법을 사용합니다.

나는 것에 관심이있는 방법을 찾는 사람들을 사용하 Dll 을 비 microsoft 개발 플랫폼입니다.즉,이용 COM 클래스에서는 C++프로젝트를 컴파일 MinGW 또는 Cygwin 도의 GCC 포트 linux(C++컴파일하고 타겟팅 Win32 바이너리로 실행에서 기본적으로 Linux).

내가 어떤 제한을 사용하여 성공 하지만 이것은 성공에서 100%의 상황(를 사용할 수 없습 COM 객체를 반환에 의해 어떤 방법).

는 누군가가 성공 비슷한 상황에서?

도움이 되었습니까?

해결책

에 대답하지만 자신을 찾기 완벽한 라이브러리를 위해 OLE COM 에서 호출 Microsoft 가 아닌 컴파일러: disphelper.

(사용할 수 있서 sourceforge.net 에서 허용 BSD license).

그것은 작품 모두에서는 C 및 C++(고,따라서 다른 언어와 C 인뿐만 아니라).사용 printf/scanf-아 형식 문자열을 구문.
(당신이 통과 당신이 원하는만큼 당신은 그것을 지정하는 형식 문자열에는 달리, XYDispDriver 을 요구하는 인수와 정확히 일치 최상에 지정된 형식 라이브러리).

나는 수정은 그것을 조금 얻 그것은 또한 컴파일 리눅스에서 가 WineGCC(을 생산하는 네이티브 리눅스 요정의 Win32 코드),를 처리하고"심판"호출을 자동으로(주 disthelper 필요한 프로그래머를 설정 그/그녀의 자신의 최).

나의 패치 버전과 패치를 사용할 수 있으로 포크 on github:

그리고 여기 나의 패치:

다른 팁

문제 Ole Com 체 뷰어 패키지와 함께 Visual Studio Windows Sdk 에는 그것이 생산하고 깨졌습니다.IDL 습니다.누락할 수 없는 추가 컴파일하여 MIDL 로.H/.CPP 다.

와인의 자신의 재구현의 OleViewer 현재의 불안정과 충돌하려고 할 때 그들을 사용하는 라이브러리입니다.

나는 당신을 생각해야 사용할 수 있는 무료 도구 Ole Com 체 뷰어하는 헤더 파일이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top