답변:
이 특정 문제는 경로에 공백이있는 lib 파일에 대한 종속성을 지정하여 발생합니다. 프로젝트를 올바르게 컴파일하려면 경로를 따옴표로 묶어야합니다.
프로젝트 속성 의 구성 속성-> 링커-> 입력 탭에는 추가 종속성 속성이 있습니다. 이 문제는이 속성을 다음에서 변경하여 해결되었습니다.
C : \ Program Files \ sofware sdk \ lib \ library.lib
에:
"C : \ Program Files \ sofware sdk \ lib \ library.lib"
따옴표를 추가 한 곳.
"C:\Program Files\sofware sdk\lib\library.lib"
. 가 없으면 ;
프로젝트가 잘못 컴파일 될 수도 있습니다.
이는 파일이 여전히 실행중인 경우 발생할 수 있습니다.
: -1 : 오류 : LNK1104 : 'debug \ ****. exe'파일을 열 수 없습니다.
Visual Studio를 닫았다가 다시 열면 문제가 해결되었습니다. 문제가 발생한 이유는 확실하지 않지만 한 번 시도해 볼 가치가 있습니다.
이것은 VS 2013 Ultimate, Windows 8.1에있었습니다.
이 기능이 켜져 있지 않은지도 확인하십시오 : 구성 속성-> C / C ++-> 전 처리기-> 파일로 전처리 .
내 문제는 누락 된 .lib
확장 기능이었고 연결 중이었고 mylib
VS는 mylib.obj
.
해결 방법 1 (제 경우) : Windows 탐색기 프로세스를 다시 시작합니다 (예, Windows 파일 관리자).
해결 방법 2 :
나는 때때로 파일 시스템이나 그것을 제어하는 사람이 권한을 잃어버린다고 생각합니다. Windows 세션을 다시 시작하기 전에 좀비 msbuild32.exe
프로세스 를 죽이고 Visual Studio를 다시 시작하고 문제 파일을 표시하지 않는지 확인하십시오. 빌드 구성 문제가 없습니다. 때때로 발생합니다. Windows의 일부 내부 문제가 해결되지 않고 다시 시작해야합니다.
내가 설치 한 Nuget 패키지 (헤더만이 아닌 패키지)를 사용하여 동일한 오류가 발생한 다음 제거하려고했습니다.
나에게 잘못된 것은 내가 방금 .cpp 파일 중 하나에서 제거한 패키지의 헤더를 여전히 포함하고 있다는 것입니다 (아주 어리석은 일입니다).
추가 라이브러리 디렉토리 링크도 제거했습니다.Project -> Properties -> Linker -> General
했지만 존재하지 않는 헤더를 참조하려고 시도했기 때문에 물론 아무 소용이 없습니다.
이 경우에는 헤더 이름이 <boost/filesystem.hpp>
있었지만 오류가 나에게 "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
줄 번호 또는 아무것도 제공하지 않았기 때문에 확실히 혼란스러운 오류 메시지입니다 .
나는 같은 문제가 있었지만 내 사례에 대한 해결책이 답변에 나열되지 않았습니다. 내 바이러스 백신 프로그램 (AVG)은 파일 MyProg.exe
을 바이러스로 판단 하여 '바이러스 저장소'에 넣었습니다. 이 창고를 확인하고 파일이 있는지 확인한 다음 복원하십시오. 그것은 나를 도왔습니다.
이 목록에 따라 모든 설정을 확인했습니다 : http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . 그것은 저에게 도움이되고 제 상황에있어서 프로젝트 속성의 Link Dependency에 큰 따옴표가있어서 거기에 있으면 안된다는 것을 알게되었습니다.
제 경우에는 이전 Game Engine Graphics 과정의 수학 라이브러리 파일을 GLM으로 대체했습니다. 문제는 Visual Studio의 솔루션 탐색기 내의 프로젝트에 추가하지 않았다는 것입니다 (프로젝트 리포지토리에 있음에도 불구하고).
LNK2038 오류와 관련하여이 문제가 발생 했습니다. 에 따라 RELEASE 및 DEBUG DLL을 분리했습니다. 이 과정에서 이러한 종속성이있는 전체 폴더를 정리했습니다.
운 좋게도이 모든 파일의 백업이 있었고이 오류가 문제를 해결하기 위해 DEBUG 폴더로 다시 던져지는 파일을 얻었습니다. 이 게시물의 답변 중 하나에서이 팁에 도달하기 위해 많은 시간을 소비해야했기 때문에 오류 코드는 어떤면에서 오해의 소지가있었습니다.
이 답변이 도움이 필요한 사람을 돕기를 바랍니다.
나는하여 해결 추가 기존 프로젝트 에 내 솔루션을 내가 추가하는 것을 잊었다 처음에.
위의 솔루션을 시도했지만 저에게 효과적이지 않았습니다. 그래서 exe의 이름을 바꾸고 솔루션을 다시 빌드합니다. 그것은 나를 위해 작동합니다.
Visual Studio 2019에서 VC ++ DLL을 빌드 할 때 다음과 같은 정확한 오류가 발생했습니다.
LNK1104 : 'C : \ Program.obj'파일을 열 수 없습니다.
프로젝트 속성> 링커> 입력> 모듈 정의 파일 에서 파일 이름 끝에 일치하지 않는 큰 따옴표 가있는 def 파일을 지정했습니다 . 일치하지 않는 큰 따옴표를 삭제하면 문제가 해결되었습니다.
"Visual Studio 2013"에서 동일한 문제가 발생했습니다.
LNK1104: cannot open file 'debug\****.exe
Visual Studio를 닫았다가 다시 시작한 후 해결되었습니다.
나는 같은 문제가 있었는데, 방금 코드를 새 프로젝트에 복사하고 빌드를 시작했습니다. 다른 오류가 발생하기 시작했습니다. 오류 C4996 : 'fopen':이 함수 또는 변수는 안전하지 않을 수 있습니다. 대신 fopen_s 사용 고려
이 문제를 다시 해결하기 위해 다음과 같이 Project 프로젝트에 하나의 속성을 추가했습니다. 프로젝트-> 속성-> 구성 속성-> c / c ++. 이 카테고리에는 문제를 해결하기 위해 _CRT_SECURE_NO_WARNINGS를 추가 한 필드 이름 전 처리기 정의가 있습니다.
감사합니다