programing

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

goodcopy 2022. 7. 31. 22:09
반응형

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

내가로 C/C++ 프로그램합니다.popenphp...나는 이 오류 좋지 않았다.

g++: error trying to exec 'cc1plus': execvp: No such file or directory

셸에서 php 코드를 실행하면..정상적으로 동작합니다.

Arch Linux에서...

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 to colar.c 그리고 오류는 사라졌습니다! 아마도 당신은 이것이 필요할 것입니다.

sudo apt-get install g++

이 문제는 다른 버전의 g++와 gcc가 설치되어 있는 경우에 발생할 수 있습니다.

   g++ --version
   gcc --version

이러한 결과가 나타나지 않으면 여러 버전의 gcc가 설치되어 있을 수 있습니다.다음을 사용하여 확인할 수 있습니다.

    dpkg -l | grep gcc | awk '{print $2}'

보통 /usr/bin/gcc는 /etc/alternates/gcc에 sym 링크되며, 다시 sym 링크되어 /usr/bin/gcc-4.6 또는 /usr/bin/gcc-4.8(gcc-4.6, gcc-4.8이 설치되어 있는 경우)이 됩니다.

이 링크를 변경하면 gcc와 g++를 같은 버전으로 실행할 수 있습니다.이것에 의해서, 문제가 해결될 가능성이 있습니다.

apk의 경우 가장 쉬운 방법은 다음과 같습니다.

apk add build-base

openSu에 g++ 설치SE 실행

zypper in gcc-c++

GCC 설치에 문제가 발생했습니다.다음과 같이 재인스톨 해 보겠습니다.

sudo apt-get install --reinstall g++-5

Ubuntu에서는g++의 기본 버전을 설치하는 의존성 패키지입니다.g++사용하시는 OS 버전에 대응합니다.따라서 패키지를 제거했다가 다시 설치하는 것만으로는 작동하지 않습니다. 기본 버전이 설치되기 때문입니다.그래서 다시 설치해야 합니다.

주의: 교환할 수 있습니다.g++-5희망하시는 대로g++버전입니다.현재를 찾으려면g++버전 실행:

g++ --version

환경변수 GCC_ROOT가 잘못된 위치를 가리키는 경우에도 이 문제가 발생할 수 있습니다.가장 간단한 수정은 다음과 같습니다(*nix와 같은 시스템에서).

unset GCC_ROOT

더 복잡한 경우에는 적절한 위치에 다시 지정해야 할 수 있습니다.

각 컴파일러에는 독자적인 libexec/디렉토리가 있습니다.보통 libexec 디렉토리에는 다른 프로그램에서 호출되는 작은 도우미 프로그램이 포함되어 있습니다.이 경우 gcc는 자체 'cc1' 컴파일러를 찾습니다.사용하시는 머신에 다른 버전의 gcc가 포함되어 있을 수 있으며, 각 버전에는 독자적인 'cc1'이 필요합니다.일반적으로 이러한 컴파일러는 다음 위치에 있습니다.


/usr/local/libexec/gcc/<architecture>/<compiler>/<compiler_version>/cc1

g++와 유사한 경로입니다.위의 오류는 현재 사용되는 gcc 버전이 자체 'cc1' 컴파일러를 찾을 수 없음을 의미합니다.이것은 통상 PATH의 문제를 나타내고 있습니다.

때 'python과 기술이 나는 온전히 주연 이유는문제가 있었습니다 같은 때도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"

물론, 이것은 빠른 해결책이며, 더 확실한 답은 끊어진 경로를 수정하는 것입니다.

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

반응형