LNK1104

열수철·2025년 2월 11일
1>LINK : fatal error LNK1104: 'Common.lib' 파일을 열 수 없습니다.

에러 원인

이 에러 메시지는 링커(Linker)가 Common.lib라는 라이브러리 파일을 찾지 못할 때 발생합니다. 원인으로는 다음과 같은 경우가 있습니다:

  • 파일 경로 문제: 프로젝트 설정에서 지정한 경로에 Common.lib 파일이 존재하지 않는 경우.
  • 파일 이름 변경 또는 삭제: 팀원 중 누군가가 공통 코드 부분을 분리하거나 이름을 변경하여, 기존 파일이 더 이상 존재하지 않는 경우.

해결 방법

추가 종속성(Additional Dependencies) 경로 수정

해결책 중 한 가지 방법은, Visual Studio의 프로젝트 속성에서 Additional Dependencies 항목에 지정된 Common.lib의 경로를 상대 경로로 수정하는 것입니다. 이 방법을 사용하면, 프로젝트를 다른 개발자와 공유하거나 GitHub에서 다운받았을 때도 올바른 경로를 참조할 수 있습니다.

변경 전

  • 기존에 단순히 Common.lib만 지정되어 있었다면, 이 경우에는 프로젝트 파일이 있는 위치에 Common.lib가 없으면 에러가 발생합니다.

변경 후

  • (SolutionDir)(SolutionDir)(platform)$(Configuration)\Common.lib
    위와 같이 수정하면, 솔루션 디렉토리를 기준으로 플랫폼(예: Win32, x64)과 빌드 구성(예: Debug, Release)에 따라 올바른 경로를 자동으로 찾아가게 됩니다.
    예를 들어, 프로젝트 구조가 아래와 같이 되어 있다면:

    MySolution/
    ├── MyProject/
    └── Common/
        └── $(platform)/$(Configuration)/Common.lib

    이 경로 설정은 Common.lib 파일이 솔루션 루트 아래의 지정된 폴더에 위치하도록 만들어, 다른 개발자들도 프로젝트를 다운받아 사용할 때 문제 없이 빌드할 수 있게 해줍니다.

설정 방법

  1. 프로젝트 속성 열기:

    • Visual Studio에서 해당 프로젝트를 오른쪽 클릭한 후 Properties를 선택합니다.
  2. 링커 설정 이동:

    • Configuration Properties > Linker > Input 항목으로 이동합니다.
  3. 추가 종속성 수정:

    • Additional Dependencies 항목을 찾아 기존의 Common.lib 대신 아래와 같이 수정합니다.
      $(SolutionDir)$(platform)$(Configuration)\Common.lib;
    • 수정 후 저장하고, 빌드를 다시 시도합니다.

결론

위와 같이 Additional Dependencies에 상대 경로를 사용하여 Common.lib의 위치를 지정하면, 팀원들이나 외부에서 프로젝트를 클론 받았을 때에도 동일한 경로 구조를 통해 라이브러리를 올바르게 참조할 수 있게 됩니다. 이 방법은 빌드 환경이 달라도 유연하게 대처할 수 있는 장점이 있습니다.

만약 여전히 문제가 발생한다면, Common.lib 파일의 실제 존재 여부와 빌드 순서(예: [Build Dependencies] -> [Project Dependencies...]에서 Common 프로젝트를 체크하여 먼저 빌드하도록 설정)를 다시 한 번 확인해 보시기 바랍니다.

profile
그래픽스, 수학, 물리, 게임 만세

0개의 댓글