2009-09-17 5 views
1

Visual Studio 6을 사용하여 컴파일 된 아주 오래된 프로그램 용 DLL을 작성하고 있습니다.이 프로그램은 표준 라이브러리 컨테이너에 대한 포인터를 반환하는 일부 함수를 내 보내며 문제를 일으키고 있습니다. 내가 VS에서 컴파일 된 내 DLL에서 그들과 함께 무엇을하려고하면. 7을위한 소스 코드를 사용할 수 없으므로 VS 7로 다시 컴파일하는 것은 옵션이 아닙니다.C++ - Visual Studio CRT

VS 6 CRT에서 가져 오기 라이브러리와 연결되도록 VS 7을 다시 구성 할 수있는 방법이 있습니까? VS 6을 설치 했으므로 (그리고 필요한 모든 .libs 및 헤더), 새로운 IDE를 사용하는 편이 낫습니다. 나는 VS 7에서 "기본 라이브러리 무시"를 시도하고 VS 6 lib/프로젝트 설정에 경로를 추가 한 다음 MSVCPRT.LIB를 추가 종속성에 추가했지만 CRT에서 확인할 수없는 외부 톤을 얻을 때 나는 그 프로젝트를 짓는다.

고맙습니다.

답변

3

This 도움이 될 수 있습니다.

+0

아니, 그게 C 런타임에 관한거야. 그것은 C++을 완전히 무시합니다. 그게 훨씬 더 힘들 기 때문에 놀라운 일이 아닙니다. – MSalters

+0

답장을 보내 주셔서 감사합니다. 이 링크는 매우 유망 해 보이지만 C++ 런타임 함수를 사용할 수 없다면 작동하지 않을 것이라고 생각합니다. Tim의 제안과 함께 정적 래퍼 라이브러리를 내 프로젝트에 연결할 수 있습니다. 나는 그런 일을해야한다고 생각했지만,보다 간단한 해결책이 있기를 바랬습니다. –

2

CRT와 STL은 모두 VS6과 VS7 사이에서 크게 수정되었습니다. 이 일을 실제로 할 수 있다면 놀랄 것입니다.

아마도 중립적 인 방식으로 데이터를 노출하는 VS6의 "래퍼"모듈을 구축 할 것입니다.