Create Process:해당 파일 또는 디렉터리가 없습니다.
인스톨 디렉토리외에서 GCC 를 실행하려고 하면, 이 에러가 발생합니다(E:\MinGW\bin
).
그래서 제가 지금E:\code
라고 하는 파일을 가지고 있습니다.one.c
실행 중:gcc one.c -o one.exe
다음 오류가 나타납니다.
gcc: CreateProcess: No such file or directory
유일한 회피책은 설치 디렉토리로 이동하여 여기서 gcc를 실행하고 다른 모든 경로를 지정하는 것입니다.나의 환경 변수Path
포함하다E:\MinGW\bin
.
이 문제를 해결할 방법이 있나요?Windows XP SP3를 실행하고 있습니다.
C++ 컴파일러를 설치하지 않아 비슷한 문제가 발생하였습니다.내 경우 Python 확장자용 .cpp 파일을 컴파일하고 있었는데 컴파일러가 먼저 c:\mingw\bin\gcc.exe로 호출됩니다.
내부적으로 gcc.exe는 .cpp 파일을 컴파일하도록 요구받습니다.g++.exe를 호출하려고 하면 실패하고 다음과 같은 오류 메시지가 나타납니다.
gcc.exe: Create Process: 해당 파일 또는 디렉토리가 없습니다.
규범에 따름:Wiki 차단, 추가 필요C:\MinGW\libexec\gcc\mingw32\MinGW-Version
고객님께PATH
재기동할 필요는 없지만, 최신 단말기를 입수하려면 다른 단말기를 열어야 합니다.PATH
설정을 지정합니다.
MinGW-w64의 경우<mingw install directory>\libexec\gcc\x86_64-w64-mingw32\4.7.0\
나도 똑같은 문제가 있었어.
다시 한 번 확인해보니PATH
양쪽을 모두 인스톨 하고 있는 것을 깨달았습니다.Mingw
(64비트) 및Cygwin
(32비트).문제는 둘 다Mingw
그리고.Cygwin
갖고 있다g++
.
의 경로를 비활성화함으로써Cygwin
에러가 사라졌습니다.
저도 같은 문제가 있었습니다만, 현재 리스트 되고 있는 솔루션 중, 처음에 도움이 되는 것은 없었습니다.
-v
옵션은 추가 단서를 주지 않았습니다.
문제의 원인을 찾기 위해 ProcMon에 의존해야 했습니다.
덤핑g++
프로세스 파일 액티비티로 인해 수많은 검색 시도가 발견되었습니다.cc1plus
다른 경로에서 실행할 수 있습니다.그 중에는 오래된 GCC 버전에 대한 경로가 있었습니다.
그러나 이전 버전은 별도의 폴더에 상주하며 실행하려고 했던 새 버전에서 전혀 참조되지 않았습니다.
마지막으로 시스템 %PATH% 환경변수에 사용되지 않는 경로가 발견되었습니다.삭제 후 새 버전은 오류 없이 작동하기 시작했습니다.
찾을 수 없는 파일을 알 수 없기 때문에 이것은 멍청한 오류 메시지입니다.
상세 플래그를 사용하여 명령을 다시 실행합니다.gcc -v
gcc가 뭐 하는 건지 확인하려고요
제 경우엔, 우연히 전화하려고 했어요cc1plus
확인해보니 그런 건 없어요Mingw의 C++ 컴파일러를 설치하고 설치했습니다.
방금 문제가 생겼어요.
제 경우 GCC용 패키지를 다운로드 할 때 문제가 발생하였습니다.mingw-get 프로그램은 다운로드가 끝났다고 생각했지만 아직 끝나지 않았다.
GCC 업그레이드를 원했기 때문에 mingw-get을 사용하여 새로운 버전을 입수했습니다.어떤 이유에서인지, mingw-get은 특정 파일의 다운로드가 끝났다고 생각했지만, 그렇지 않았다.파일을 압축 해제했을 때 오류가 났다고 생각합니다.(그냥 "mingw-get update & mingw-get install mingw32-gcc"를 실행하여 그대로 두었습니다).
이를 해결하기 위해 mingw-get remove mingw32-gcc를 실행하여 gcc를 삭제하고 mingw 캐시 폴더("C: get remove mingw32-gcc")에 있는 패키지 파일(mingw-get이 완전히 다운로드되지 않음)도 삭제했습니다.시스템 내의 \MinGW\var\cache\mingw-get\packages")에서 install 명령을 다시 실행합니다.GCC에서 누락된 부분을 다운로드하여 설치했습니다(gcc-core 패키지가 완전히 다운로드되지 않았습니다).
그것으로 내 문제는 해결되었다.
흥미롭게도 mingw-get은 캐시 폴더에서 패키지 파일을 삭제하고 mingw32-gcc를 삭제한 후에도 gcc-core 다운로드를 계속할 수 있습니다.
더 근본적인 문제는 gcc-core 파일이 설치되지 않았기 때문에 cc1이 없었다는 것입니다.그리고 gcc는 cc1을 사용합니다.gcc가 cc1을 시작하려고 했을 때, 기존 파일의 경로가 아닌 cc1의 경로를 통과하는 어딘가에서 Create Process를 사용한 것 같습니다.따라서 오류 메시지가 나타납니다.
"사람에게 물고기를 주고, 하루 동안 먹이를 주고, 사람에게 물고기 잡는 법을 가르치고, 주말 내내 그를 없애라"는 맥락으로,
g++ --도움말shows compiler options. The g++ -v option helps:
-v 컴파일러에 의해 기동된 프로그램을 표시합니다.
출력에서 가짜 경로를 확인합니다.이 경우 원래 명령어는 다음과 같습니다.
g++ -v "d:/UW_Work/EasyUnit/examples/1-BasicUnitTesting/main.cpp"
생성된 출력에는 다음과 같은 작은 보석은 다음과 같습니다.
- iprefix c:\olimexods\yagarto\arm-none-eabi\bin\../lib/gcc/arm-none-eabi/4.5.1/
"No such file or directory" 메시지가 나타납니다.
"../lib/gcc/arm-none-eabi/4.5.1/" 세그먼트는 다음과 같은 내장 사양에서 제공됩니다.
g++ - specs(스펙)
저도 비슷한 문제를 겪었어요.처음에 시스템 경로에 GCC bin 폴더를 추가해도 문제가 해결되지 않았습니다.나는 두 가지 해결책을 찾았다.
첫 번째는 MinGW 설치 루트인 mingwbuilds.bat에서 찾은 배치파일을 실행하는 것입니다.GCC를 실행하도록 올바르게 설정된 명령어프롬프트가 (분명히) 기동합니다.두 번째는 사용자 경로 변수에 추가한 GCC 설치 보관함 폴더에서 이중 따옴표를 삭제하는 것입니다.install bin 경로 주변에 이중 따옴표를 사용하지 않는 배치파일을 보고 시도했습니다.
기타 상세
(-v 출력에 따라) 부팅되지 않은 다양한 실행 파일을 찾으려다가 우연히 설치 폴더 트리를 검색하다가 배치 파일을 발견했습니다.MinGW wiki http://www.mingw.org/wiki/Getting_Started, the [ Cautions and Environment Settings ]섹션에서 MinGW instra가 설치 폴더를 포함하도록 시스템 또는 사용자 경로를 설정하지 않는 이유를 알 수 있습니다.이는 배치 파일이 Windows 프롬프트에서 GCC 실행에 적합한 명령어프롬프트를 기동하기 위한 것임을 확인하는 것으로 보입니다.
저도 같은 문제가 있었는데, 어떤 수정도 잘 되지 않았습니다.오래된 스레드이긴 하지만 다른 사람이 구글을 통해 이 스레드를 찾을 경우를 대비해서 솔루션을 게시해야 할 것 같습니다.
저는 MinGW를 제거하고 MinGW 폴더를 삭제한 후 다시 설치해야 했습니다.재설치 후 매우 효과적입니다.
MinGW용 릴리즈 디스트로가 몇 개 있는 것 같습니다.어떤 거 먹어봤어?참고로 OP와 똑같은 문제가 발생했는데, 제가 받은 distro는 TDM-GCC 4.5.1이었습니다.
여기 MinGW distro가 훨씬 더 잘 작동하고 올바르게 설정되어 있는 것 같습니다.따라서 이 지연된 "create process-no-such-file-or-directory" 오류가 발생하여 작업을 수행할 수 없는 경우 기존 MinGW를 제거하고 대신 제가 링크한 것을 사용해 보십시오.
이 문제는 다른 버전의 프로그램을 사용하는 경우 발생할 수 있습니다.
예를 들어, 당신은 1살짜리가 있다.gcc
C++ 소스 코드를 컴파일하고 싶다.사용하시는 경우mingw-get
설치하다g++
,gcc
그리고.g++
갑자기 버전이 바뀌어 이 상황에 처할 가능성이 높아집니다.
입니다.mingw-get update
그리고.mingw-get upgrade
이 문제를 해결해 주셨습니다.
이 문제는 대문자 접미사를 사용하기 때문입니다.Mingw GCC로 컴파일 할 때 소문자 stop.c가 아닌 c.예를 들어, 다음과 같이 하면,
gcc -o stuff stuff.C
그러면 다음과 같은 메시지가 나타납니다.gcc: CreateProcess: No such file or directory
하지만 이렇게 하면:
gcc -o stuff stuff.c
효과가 있습니다.왜 그랬는지 모르겠어.
이 솔루션은 다음과 같습니다.
프로그램을 저장할 때 hi.cpp라는 이름으로 폴더에 저장한 후 프로그램을 저장합니다.
이 폴더를 잘라 믹스우 휴지통 폴더에 넣으세요.
프로그램을 호출할 때:
------ g++ xxl\hi.cpp --------
특히 migwin에 대해 Windows에서 환경 변수를 설정한 후 재시작해야 한다고 합니다.
Mingw 설치에 대한 링크를 사용하여 Cygwin에서 실행하려고 할 때 동일한 오류 메시지가 표시되었습니다.
http://www.mingw.org/wiki/FAQ 에서 같은 mingw32-make-3.80.0-3.exe 를 인스톨 해, WinXP SP3 및 gcc 에서는 [Start]-> [ Programs ]-> [ mingw shell ]옵션을 사용하면 정상적으로 동작합니다.
경로가 매우 길어서 gcc.exe가 아닌 다른 파일이 그 경로에서 접근하고 있습니다.
그래서 내가 길을 비웠을 때, 그것은 작동했다.
C:\MinGW>cd bin
C:\MinGW\bin>where gcc.exe
C:\MinGW\bin\gcc.exe
C:\Perl64\site\bin\gcc.exe
^^ 따라서 여기서 gcc를 실행하면 반드시 ming gcc.exe가 실행됩니다.
C:\MinGW\bin>type file6.c
#include<stdio.h>
void main()
{
int num1,num2;
scanf("%2d %4d",&num1,&num2);
printf("a=%d b=%d",num1,num2);
scanf("%d",&num1);
//flushall();
printf("c=%d",num1);
}
컴파일 중 이 오류가 발생
C:\MinGW\bin>gcc file6.c
gcc: error: CreateProcess: No such file or directory
나의 길은 컸다.
C:\MinGW\bin>path
PATH=C:\Windows\system32;C:\Windows;C:\Windows\system32\wbem;C:\P......
C:\MinGW\bin>패스| grep - io "ming"
거기엔 어울리지 않았어.
C:\MinGW\bin> MING | grep - io "밍" MING
(그래, 그 렙은 효과가 있어.)오솔길은 거기에 어울리지 않았다.
내 길을 완전히 비우고, 작동하게 했어!
C:\MinGW\bin>set PATH=
C:\MinGW\bin>gcc file6.c
C:\MinGW\bin>
따라서 충돌의 원인이 PATH에서 무엇이었는지는 아직 명확하지 않습니다.어떤 디렉토리, 어떤 파일?
갱신-
위의 내용이 맞는 것 같습니다만, 덧붙이자면, 그것은 또한 이전에 어떤 것이 충돌하는 단순한 경우가 아닙니다.통상, 현재의 디렉토리가 우선되기 때문입니다.여기에서는 gcc --version이 ming을 실행하고 있는 것을 나타내며, 경합하는 디렉토리내의 것이 아닌 것을 나타내고 있습니다.이 경우 모순되는 디렉토리가 경로 내에 있는 경우 .\gcc 또는 추가 중 하나를 수행해야 합니다..
경로 또는 추가의 시작까지c:\MinGW\bin
경로에서 충돌하는 디렉토리보다 앞서 있습니다.C:\MinGW\bin
이상하네.그리고 오류가 발생하면 Ming의 gcc를 실행하고 있지만 (어떤 이유로) 프로세스 모니터에서 보듯이 컨플릭트 디렉토리도 보고 있습니다.http://wiki.codeblocks.org/index.php?title=Installing_MinGW_with_Vista 의 링크에는, 한층 더 상세한 회답이 게재되어 있을 가능성이 있습니다.
그건 Ming32 비트야.
Ming 64bit를 보면 아마 같은 문제가 있을 것입니다만, 재미있는 것은 bat 파일이 포함되어 있다는 것입니다.이 파일은 실제로 bin 디렉토리를 경로의 맨 위에 배치하는 것입니다.그리고 그것이 Ming gcc를 적절하게 실행하기 위한 표준 방법인 것 같습니다.
코드::blocks IDE(지각적으로)도 경로의 선두에 bin 디렉토리를 배치합니다.환경변수를 표시하는 C 프로그램을 실행하면 해당 프로그램이 나타납니다.
더하다E:\MinGW\bin
에게PATH
변수.
저도 같은 문제가 있었습니다(cygwin을 실행하고 있습니다).
cygwin.bat을 통해 셸을 시작해도 도움이 되지 않았지만 MingWSHEL을 통해 셸을 시작하면 도움이 되었습니다.이유는 확실하지 않지만 실행 중인 스크립트와 기본 파일 시스템 사이에 cygwin이 추가 레이어를 배치한 것과 관련이 있다고 생각합니다.
가상환경의 sygwin 내에서 pip install을 실행하여 django sentry를 설치하고 있었습니다.
(원래 문제 참조)
최신 버전mingw
(포스트 날짜 참조)
내가 해야 할 일은 내가 실행한 것과 같은 셸에 경로를 설정하는 것 뿐이었다.gcc
.
세팅하는 법을 기억하는 데 한 시간이 걸렸어DOS variables
...
A:> set PATH=C:\MinGW\bin\;
C:\Program Files\ImageMagick-6.8.0-Q16\;
C:\WINDOWS\system32\;C:\WINDOWS\;C:\WINDOWS\System32\Wbem\;
C:\WINDOWS\system32\WindowsPowerShell\v1.0\;
C:\Program Files\QuickTime\QTSystem\
A:> gcc hi.c
저도 같은 문제가 있어서 모든 것을 시도해 봤지만 아무 결과도 없었습니다.그 문제를 해결한 것은 PATH 변수에서 라이브러리 경로의 순서를 변경하는 것이었습니다.다른 컴파일러와 마찬가지로 sygwin을 가지고 있었기 때문에 충돌 같은 것이 있었을지도 모릅니다.내가 한 건 C:를 넣은 거야\MinGW\bin; 다른 모든 경로보다 경로가 우선되어 문제가 해결되었습니다.
환경변수에 사용자 변수를 넣는 대신 시스템 변수에 경로를 넣는 것을 시도합니다.
이 에러 메시지는 MinGW-w64 를 사용하고 있었기 때문에, 에 있는 명령어는<install path>\bin
all had a weird prefix. I attempted to call executables in the "target alias" directories instead of in <install path>\bin
directories, which resulted in even more problems. That's a no-no according to the FAQ. The solution for me, then, was to create symbolic links to all the prefixed commands. I opened an elevated command prompt and used something like mklink gcc.exe x86_64-w64-mingw32-gcc.exe
for every executable, and now my build works.
Although post is old I had the same problem with mingw32 vers 4.8.1 on 2015/02/13. Compiling using Eclipse CDT failed with this message. Trying from command line with -v option also failed. I was also missing the cc1plus executable.
The cause: I downloaded the command line and graphical installer from the mingw32 site. I used this to do my initial install of mingw32. Using the GUI I selected the base tools, selecting both the c and c++ compilers.
This installer did an incomplete install of the 32 bit c++ compiler. I had the g++ and cpp files but not the cc1plus executable. Trying to do an 'update' failed because the installer assumed I had everything installed.
To fix I found these sites: http://mingw-w64.sourceforge.net/ http://sourceforge.net/projects/mingw-w64/ I downloaded and ran this 'online install'. Sure enough this one contained the missing files. I modified my PATH variable and pointed to the 'bin' folder containing the g++ executable. Rebooted. Installed 64 bit Eclipse. Opened Eclipse and the 'Hello World' c++ program compiled, executed, and debugged properly.
Note: the 64bit installer seems to default to UNIX settings. Why can't an installer determine the OS??? Make sure to change them.
I spent an entire evening dealing with this. Hope this helps someone.
I had the same problem.
I already had a g++ compiler installed thru MinGW (the package mingw32-gcc-g++) but I needed a C compiler so I ran mingw-get-setup.exe where I was able to have it install the mingw32-base package, the one with the C compiler.
Alas! I had this error when I use gcc to compile:
gcc: error: createprocess: no such file or directory
What I did was, still using the MinGW Installation Manager, I removed the C and C++ compiler packages, namely mingw32-base and mingw32-gcc-g++ and ALSO deleted the C:\MinGW directory itself. Then I reran mingw-get-setup.exe, installed mingw32-base, and voila, it worked :)
For me this error started occurring when the length of the command line exceeded cygwin's limit. Which was 32000 bytes.
You can check the limit using this command:
$ getconf ARG_MAX
32000
The solution in the project I am working has not been finalized yet, but possible solutions include:
- using binaries built from link libraries instead built from all the project files.
- shortening the names of directories that contain many source code files, as the names of the directories are repeated multiple times.
- reviewing the list of files used by the linker.
Likely there are many more possible solutions too, the simplest perhaps is finding a way to increase the length limit.
ReferenceURL : https://stackoverflow.com/questions/3848357/createprocess-no-such-file-or-directory
'programing' 카테고리의 다른 글
컴파일 시 -pthread 플래그의 중요성 (0) | 2022.06.27 |
---|---|
시스템의 차이.exit(0), System.exit(-1), System.exit(1) (Java 의 경우) (0) | 2022.06.27 |
표준 C++/C++11, 14, 17/C를 사용하여 파일이 존재하는지 확인하는 가장 빠른 방법? (0) | 2022.06.26 |
URL이 변경되기 전에 스토어 상태가 업데이트되는 Nuxt.js 문제 (0) | 2022.06.26 |
VueJs & Vuetify 프로젝트에서 Vee-Validate 3.x를 실행 (0) | 2022.06.26 |