web-dev-qa-db-ja.com

Ubuntu 12.04でのARMプロセッサー用のCコードのコンパイル

次のコマンドを使用して、単純な「Hello world」Cコードをコンパイルしています。

  1. arm-linux-gnueabi-gcc-4.4 test.cpp -o test

    エラーが生成されます。

    arm-linux-gnueabi-gcc-4.4: error trying to exec 'cc1plus': 
    execvp: No such file or directory
    
  2. 私のディレクトリ:/usr/lib/gcc/arm-linux-gnueabi/4.4.7にはcc1plusがありますが、コンパイラはcc1plusを探しているため、/usr/lib/gcc/arm-linux-gnueabi/4.6にはcc1plusファイルがありません。

私のtest.cppは単純な「hello-world」プログラムであり、ARMプロセッサーをターゲットにしています。

この問題を解決する方法を提案してください。

1
kaushal

ファイルには.cpp拡張子が付いているため、gccはc ++のいくつかの設定でコンパイルを試みます。 cc1plusにはg ++パッケージが付属しています。インストールしてみてください。以前にも同様の問題に直面しました。

  1. ARM g ++クロスコンパイラをインストールします

    Sudo apt-get install g++-arm-linux-gnueabi
    
  2. 次に、gccの代わりにg ++を使用して正しいリンクを取得します

    arm-linux-gnueabi-g++ test.cpp -o test
    
3
user.dz

gccはCコンパイラであり、g++は@rangineni baluの回答で言及されているC++コンパイラです。

ただし、以下に示すように、gccを使用して、-libstdc++でC++プログラムをコンパイルすることもできます。

gcc -x c++ hello.cpp -lstdc++

追加情報:

インストール方法 gcc

Cプログラムをコンパイルするには:

gcc hello.c -o hello

実行するには:

./hello

0
Ravan

gccはCコンパイラですg++はC++コンパイラです。

gccコンパイラでcppファイルをコンパイルしようとしていますが、代わりにg++コンパイラで試してください。

次のコマンドを使用して、g ++をインストールします

Sudo apt-get install g++

よろしく、Rangineni Balu

0
rangineni balu