다음을 통해 공유


링커 도구 오류 LNK1107

잘못되었거나 손상된 파일: 위치 주소에서 읽을 수 없음

도구에서 파일을 읽을 수 없습니다. 파일이 손상되었거나 예기치 않은 파일 형식이 있을 수 있습니다.

설명

링커 또는 관련 도구에 전달된 파일이 손상된 경우 LNK1107 발생할 수 있습니다. 이 문제를 해결하려면 파일을 다시 빌드합니다.

빌드 프로세스에서 도구에 전달된 파일 목록에 예기치 않은 파일 형식을 배치하는 경우에도 LNK1107 발생할 수 있습니다. 링커 및 관련 도구는 특정 파일 형식에서 작동합니다. 예를 들어 링커는 개체 파일, 라이브러리 파일, 컴파일된 리소스 및 매니페스트를 사용하여 실행 파일을 만들 수 있습니다. 원본 파일 또는 DLL을 사용하여 실행 파일을 만들 수 없습니다. 이 문제를 해결하려면 빌드 프로세스가 필요한 파일 형식만 도구에 전달하는지 확인합니다. 예를 들어, 전달 .obj, .lib.res 파일, 하지.cpp.h, , .dll또는 .rc 파일입니다.

링커에 .NET 실행 모듈(A .dll 또는 파일을 만들 /clr:noAssembly 거나 .netmodule /NOASSEMBLY)을 전달하려고 할 때도 LNK1107 발생할 수 있습니다. 이 문제를 해결하려면 파일을 대신 전달 .obj 합니다.

예시

다음을 사용하여 cl /clr /LD LNK1107.cpp이 샘플을 컴파일합니다.

// LNK1107.cpp
// compile with: /clr /LD
public ref class MyClass {
public:
   void Test(){}
};

그런 다음 명령줄에서 지정 link LNK1107.dll 하면 LNK1107. 오류를 해결하려면 대신 지정 link LNK1107.obj 합니다.