我正在使用以下命令编译简单的“Hello world”C 代码:
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
我的目录:
/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
您的文件有.cpp
扩展名,因此gcc
将尝试使用一些 c++ 设置进行编译。cc1plus
附带 g++ 包,请尝试安装它。我以前遇到过类似的问题。
安装 ARM g++ 交叉编译器
sudo apt-get install g++-arm-linux-gnueabi
然后使用 g++ 而不是 gcc 来获得正确的链接
arm-linux-gnueabi-g++ test.cpp -o test
答案2
gcc
是一个 C 编译器,g++
也是一个 C++ 编译器。
您正在尝试使用编译器编译 cpp 文件gcc
,请尝试使用g++
编译器。
使用以下命令安装 g++
sudo apt-get install g++
问候,Rangineni Balu
答案3
gcc
是一个 C 编译器,也是g++
一个 C++ 编译器,正如@rangineni balu 的回答中提到的那样。
但您也可以使用gcc
它来编译 C++ 程序,如下-libstdc++
所示:
gcc -x c++ hello.cpp -lstdc++
附加信息:
如何安装gcc
要编译 C 程序:
gcc hello.c -o hello
运行它:
./hello