치명적인 오류 “LNK1104:Visual Studio에서 C++ 프로젝트를 컴파일할 때 'C:\Program.obj' 파일을 열 수 없습니다.”라는 오류가 발생합니까?

StackOverflow https://stackoverflow.com/questions/133698

  •  02-07-2019
  •  | 
  •  

문제

Visual Studio 2008에서 새로운 C++ 프로젝트를 만들었습니다.아직 코드가 작성되지 않았습니다.프로젝트 설정만 변경되었습니다.

프로젝트를 컴파일할 때 다음과 같은 치명적인 오류가 발생합니다.

치명적인 오류 LNK1104:'C:\Program.obj' 파일을 열 수 없습니다.

도움이 되었습니까?

해결책

이 특정 문제는 경로에 공간이있는 LIB 파일에 대한 종속성을 지정하여 발생합니다. 경로는 프로젝트가 올바르게 컴파일하기위한 따옴표로 둘러싸여 있어야합니다.

구성 속성 -> 링커 -> 입력 프로젝트 속성의 탭에는 추가 종속성 재산. 이 문제는이 속성을 다음과 같이 변경하여 고정되었습니다.

C : Program Files Sofware SDK Lib Library.lib

에게:

"C : Program Files Sofware SDK Lib Library.lib"

인용문을 추가했습니다.

다른 팁

파일이 여전히 실행중인 경우에도 발생할 수 있습니다.

: -1 : 오류 : LNK1104 : 파일을 열 수 없습니다 '디버그 ****. exe'

비주얼 스튜디오를 닫고 다시 열린 후 문제가 사라졌습니다. 왜 문제가 발생했는지 잘 모르겠지만 그것은 가치가있을 것입니다.

이것은 VS 2013 Ultimate, Windows 8.1에있었습니다.

이 켜지지 않은지 확인하십시오. 구성 속성 -> C/C ++ -> Preprocessor-> 파일에 전처리.

추가 라이브러리 경로의 폴더 이름으로 ","에 의해 발생하는 것과 같은 문제가있었습니다. 추가 라이브러리 경로를 변경하여 해결되었습니다.

내 문제는 누락 된 것입니다 .lib 확장, 나는 단지 연결하고 있었다 mylib 그리고 vs는 찾기로 결정했습니다 mylib.obj.

제 경우에는 잘못 지시 된 참조의 문제였습니다. 프로젝트는 다른 프로젝트의 출력을 참조했지만 후자는 전자가 찾고있는 파일을 출력하지 않았습니다.

어셈블리 프로젝트 (ProjectName-> 빌드 종속성 -> 구조 사용자 정의 -> masm (selected)), 설정 전처리 소스 목록을 생성합니다 에게 진실 나에게도 문제가 발생하여 설정을 지우 셨습니다. VS2013 여기.

나는 링커가 메인 실행 파일 누락에 대해 불평하는 것과 같은 문제를 겪습니다. 이것은 우리의 솔루션 포트에서 새로운 것들로 일어났습니다 Visual Studio 2013. 이 솔루션은 관리 및 관리되지 않은 프로젝트/코드의 다양한 혼합입니다. 문제 (및 수정)는 결국 누락되었습니다. app.config 솔루션 폴더에 파일을 파일하십시오. 출력 로그가 그다지 도움이되지 않았기 때문에 하루를 보냈습니다.

이 목록에 따라 모든 설정을 확인했습니다. http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . 그것은 나에게 도움이되며 내 상황에 대해 프로젝트 속성의 링크 종속성에는 이중 쿼트가 있어야한다는 것을 알 수 있습니다.

내가 설치한 Nuget 패키지(헤더만 아닌 패키지)와 동일한 오류가 발생하여 제거를 시도했습니다.
나에게 잘못된 점은 방금 제거한 패키지의 헤더를 .cpp 파일 중 하나에 여전히 포함하고 있다는 것입니다(아주 어리석은 일이죠, 그렇습니다).
나는 그것에 대한 추가 라이브러리 디렉토리 링크도 제거했습니다. Project -> Properties -> Linker -> General, 그러나 존재하지 않는 헤더를 여전히 참조하려고 했기 때문에 물론 아무 소용이 없었습니다.

이 경우 헤더 이름이 다음과 같기 때문에 확실히 혼란스러운 오류 메시지입니다. <boost/filesystem.hpp> 하지만 오류가 나에게 준 "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'" 줄 번호도 없고 아무것도 없습니다.

나는 같은 문제가 있었지만 내 사건에 대한 해결책은 답변에 나열되어 있지 않습니다. 내 바이러스 백신 프로그램 (AVG) 결정 파일 MyProg.exe 바이러스로서 '바이러스 창고'에 넣습니다. 이 저장소를 확인하고 파일이있는 경우 복원하기 만하면됩니다. 그것은 나를 도와 주었다.

솔루션 1 (내 경우) : Windows 탐색기 프로세스를 다시 시작합니다 (예, Windows 파일 관리자).

Solution 2:

  1. 비주얼 스튜디오를 닫습니다. Windows 로그 오프
  2. 로그온, 비주얼 스튜디오를 다시 열었습니다
  3. 평소와 같이 구축하십시오. 이제 문제가있는 파일에 액세스하고 액세스 할 수 있습니다.

나는 때때로 파일 시스템이나 통제하는 사람이 권한으로 손실되는 것을 추정합니다. Windows 세션을 다시 시작하기 전에 좀비를 죽이려고했습니다. msbuild32.exe 프로세스, Visual Studio를 다시 시작하고 문제 파일을 표시하는 것조차 확인하지 않습니다. 빌드 구성 문제가 없습니다. 그것은 때때로 일어납니다. Windows의 일부 내부 사항은 수정되지 않으며 다시 시작해야합니다.

다른 사람이 나열된이 특정 솔루션을 볼 수 없기 때문에 대답하고 있습니다.

분명히 내 바이러스 백신 (Ad-Aware)은 내 프로젝트 중 하나에 의존하는 DLL을 표시하고 삭제했습니다. DLL이 사는 디렉토리를 제외한 후에도 컴퓨터를 다시 시작할 때까지 동일한 동작이 계속되었습니다.

제 경우에는 이전 게임 엔진 그래픽 코스의 수학 라이브러리 파일을 GLM으로 대체했습니다. 문제는 Visual Studio의 Solution Explorer 내에서 프로젝트에 추가하지 않았다는 것입니다 (프로젝트 저장소에 있었음에도 불구하고).

LNK2038 오류와 함께이 문제가 발생했습니다. 게시하다 릴리스 및 디버그 DLL을 분리합니다. 이 과정에서 나는 이러한 종속성이 상주하고있는 전체 폴더를 정리했습니다.

운 좋게도이 모든 파일의 백업이 있었고이 오류가 문제를 해결하기 위해 디버그 폴더로 다시 던지는 파일을 얻었습니다. 이 게시물의 답변 중 하나 에서이 팁에 오기 위해 많은 시간을 보내야했기 때문에 오류 코드는 어떤 식 으로든 오도했습니다.

이 대답을 희망하고 도움이 필요한 사람을 도와주세요.

나는 그것을 해결했다 첨가 an 기존 프로젝트 에게 나의 해결책, 내가 추가하는 것을 잊었습니다 처음으로.

나는 같은 오류가 있었다 :

fatal error LNK1104: cannot open file 'GTest.lib;'

이것은 ; 결국. 여러 라이브러리가있는 경우 빈 공간 (Spacebar), 쉼표 또는 반 콜론으로 분리되어야합니다!

그러니 사용하지 마십시오 ; 또는 라이브러리를 나열 할 때 다른 것은 무엇이든 프로젝트 속성 >> 구성 속성 >> 링커 >> 입력

"Visual Studio 2013"에서도 같은 문제를 겪었습니다.

LNK1104: cannot open file 'debug\****.exe

Visual Studio를 닫고 다시 시작한 후 해결되었습니다.

나는 같은 문제를 겪고 있었고, 방금 코드를 새 프로젝트에 복사하고 빌드를 시작했습니다. 다른 오류가 오기 시작했습니다. 오류 C4996 : 'fopen':이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 fopen_s를 사용하는 것을 고려하십시오

이 문제를 다시 해결하기 위해 프로젝트 프로젝트에 아래와 같이 하나의 속성을 추가했습니다. 프로젝트 -> 속성 -> 구성 속성 -> C/C ++. 이 범주에는 필드 이름 사전 처리기 정의가 있습니다.

감사합니다

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