Development Tip

컴파일 오류 :“g ++ : 'cc1plus'를 실행하는 동안 오류 발생 : execvp : 해당 파일 또는 디렉터리가 없습니다.”

yourdevel 2020. 10. 9. 12:26
반응형

컴파일 오류 :“g ++ : 'cc1plus'를 실행하는 동안 오류 발생 : execvp : 해당 파일 또는 디렉터리가 없습니다.”


popenin 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++

참고 URL : https://stackoverflow.com/questions/8878676/compile-error-g-error-trying-to-exec-cc1plus-execvp-no-such-file-or-dir

반응형