2016-06-17 2 views
1

업데이트 된 타사 OBJ 파일 집합을 사용하여 이전 WATCOM FORTRAN 프로젝트를 컴파일하려고했습니다.WATCOM FORTRAN - 참조 된 Windows API 함수가 없습니다.

링커는 타사 기능을보고 있지만 여러 Windows API 기능에 대해 불만을 토로합니다.

적절한 이름이있는 것으로 보이는 WATCOM 설치 디렉토리에서 다른 LIB 및 OBJ 파일을 추가했습니다. 링커의 오류는 변경되지 않았습니다. 그것은 참조 된 GetVersionExA을 찾을 수 없다는 말을 시작하고, 다른 Windows API 함수에 대한 유사한 메시지를 ReadFile/WriteFile으로 전송합니다. 여기에는 너무 많은 오류가 있습니다.

함수 장식에 "_", "@"등의 기호가 함수 이름에 추가되었지만 물론 잘못된 것일 수 있습니다.

어디서 볼지 또는 무엇을 시도해야하는지 제안하십시오. 당신이 Kernel32.lib (GetVersionExA, ReadFile을,의 WriteFile - 여기)와 연결해야합니다

+0

이전 코드이므로 이전 버전의 SDK가 필요할 수 있습니다. 어떤 버전을 연결하고 있습니까? – theB

답변

0

감사를 포함 할 필요가있을 수 있습니다.

볼랜드/엠바 카데로 제품을위한 OBJ 파일 (사용 가능한 3 개 중)이 사용 된 것으로 나타났습니다. 다른 두 개는 다른 컴파일러에 적합한 COFF 및 OMF 파일이었습니다 - OMF 파일에는 WATCOM의 이전 kernel32.lib에있는 것과 일치하는 Windows API 함수 장식이있었습니다.

1

, 또한 내 질문에 읽기 모두 몇 가지 다른 LIBS

+0

감사합니다. 나는 그것을 시도했습니다. 함수 장식에 "_", "@"등의 기호가 추가 된 느낌이 들었습니다. – Igor

+0

x86에서 빌드하는 경우 - 예, 함수가 꾸며졌습니다. GetVersionExA -> __imp__GetVersionExA @ 4, __imp__ReadFile @ 20이라고 말하십시오. 정확한 오류 메시지를 볼 필요가 있습니다. 또한 어떤 라이브러리를 추가합니까?/verbose 옵션과 링크 - 라이브러리가 빌더에서 링커를 사용하고 vi가 가져온 함수를 검색하는 형식이 필요합니다. – RbMm