컴파일 오류 :“g ++ : 'cc1plus'를 실행하는 동안 오류 발생 : execvp : 해당 파일 또는 디렉터리가 없습니다.”
popen
in php
...으로 C / C ++ 프로그램을 컴파일 할 때이 오류가 발생했습니다.
g++: error trying to exec 'cc1plus': execvp: No such file or directory
하지만 쉘에서 PHP 코드를 실행하면 잘 작동합니다 ..
아치 리눅스에서 ..
PHP 코드 :
<?php
function rfile($fp) {
$out="";
while (!feof($fp)) {
$out.= fgets($fp, 1024000);
}
return $out;
}
$p = popen('g++ -Wall -g aplusb.cc -o aplusb 2>&1', 'r');
$result = rfile($p);
pclose($p);
echo $result;
?>
감사
gcc-c++
패키지 를 설치해야 합니다.
yum install gcc-c++
이유는 모르겠지만 소스 파일 COLARR.C를 colarr.c로 이름을 바꾸고 오류가 사라졌습니다! 아마도이게 필요할거야
sudo apt-get install g++
이 문제는 다른 버전의 g ++ 및 gcc가 설치된 경우 발생할 수 있습니다.
g++ --version
gcc --version
결과가 나오지 않으면 여러 버전의 gcc가 설치되어있을 수 있습니다. 다음을 사용하여 확인할 수 있습니다.
dpkg -l | grep gcc | awk '{print $2}'
일반적으로 / usr / bin / gcc는 / etc / alternatives / gcc에 심볼릭 링크되며, 다시 심볼릭 링크되어 /usr/bin/gcc-4.6 또는 /usr/bin/gcc-4.8 ( gcc-4.6, gcc-4.8이 설치되었습니다.)
이 링크를 변경하면 gcc와 g ++를 동일한 버전에서 실행할 수 있으며 문제가 해결 될 수 있습니다!
각 컴파일러에는 자체 libexec / 디렉토리가 있습니다. 일반적으로 libexec 디렉토리에는 다른 프로그램에서 호출하는 작은 도우미 프로그램이 있습니다. 이 경우 gcc는 자체 'cc1'컴파일러를 찾고 있습니다. 귀하의 컴퓨터에는 다른 버전의 gcc가 포함될 수 있으며 각 버전에는 자체 'cc1'이 있어야합니다. 일반적으로 이러한 컴파일러는 다음 위치에 있습니다.
/usr/local/libexec/gcc/<architecture>/<compiler>/<compiler_version>/cc1
g ++의 유사한 경로입니다. 위의 오류는 현재 사용 된 gcc 버전이 자체 'cc1'컴파일러를 찾을 수 없음을 의미합니다. 이것은 일반적으로 PATH 문제를 가리 킵니다.
나는 'python'으로 포크 할 때 같은 문제가 있었다. 주된 이유는 검색 경로가 상대적 이기 때문입니다. g++
로 호출하지 않으면을 호출 /usr/bin/g++
할 표준 경로를 알아낼 수 없습니다 cc1plus
.
나는 gcc "gnat1"과 동일한 문제가 있었고 경로가 잘못 되었기 때문입니다. Gnat1은 4.6 버전이지만 설치 한 4.8.1 버전을 실행 중이었습니다. 임시 해결책으로 4.6에서 gnat1을 복사하여 4.8.1 폴더 아래에 붙여 넣었습니다.
내 컴퓨터의 gcc 경로는 / usr / lib / gcc / i686-linux-gnu /입니다.
find 명령을 사용하여 경로를 찾을 수 있습니다.
find /usr -name "gnat1"
귀하의 경우 cc1plus를 찾으십시오.
find /usr -name "cc1plus"
물론 이것은 빠른 해결책이며 더 확실한 대답은 끊어진 경로를 수정하는 것입니다.
openSuSE 실행시 g ++ 설치
zypper in gcc-c++
'Development Tip' 카테고리의 다른 글
C ++를 사용하여 런타임에 메모리 사용량을 얻는 방법은 무엇입니까? (0) | 2020.10.09 |
---|---|
목표 C-할당, 복사, 유지 (0) | 2020.10.09 |
express.js에서“app.render”와“res.render”의 차이점은 무엇입니까? (0) | 2020.10.09 |
JS-base64 코드에서 이미지 너비와 높이 가져 오기 (0) | 2020.10.09 |
다른 호스트간에 Docker 컨테이너를 이동하는 방법은 무엇입니까? (0) | 2020.10.09 |