make: *** [packet.o] Error 127

简介: make: *** [packet.o] Error 127

今天在windows2012R2服务器上面编译c++工程时报了下面的错误,
g++ -g -Wall -Wextra -c packet.cpp
make: g++: Command not found
make: * [packet.o] Error 127

看着这个错误,好像是编译工具出的问题,百度了一下,说是这个主要是没有安装gcc-c++.x86_64,导致的问题,但是我这个环境时研发部的开发环境,换言之,如果有这个问题,开发工作早就不能进行了,所以说这个应该和编译工具没有关系的,然后我又看了我的工程目录,发现一个问题,就是在我的makefile文件中,源文件应该是.cc文件来代表c++工程的文件,而由于习惯问题,我建立的源文件是.cpp类型的,应该是这个问题导致的编译不通过,更改了文件后缀,果然编译通过了。
在网上查找了一些东西,希望看到.cc&.cpp编译过程中有哪些不同,没找到,大多讲的时不同后缀的c++文件的区别,还给列一个列表,不同环境下c++文件如何命名,这些东西有一个人写就够了,别那么多,烂大街的货就别那么多了。下面我自己写的,当然有从网上搜的,个人总结。
我们都知道一件事,c++源文件经历四个步骤形成可执行文件,分别是,预编译,编译,汇编,链接这四个步骤,然后我百度了.cc&.cpp文件在不同阶段的命令,我猜测是因为使用gcc编译的缘故,故而将gcc&g++的命令写在下面,比较直观,不需要解释,我们就能看出来他们的区别:
预编译阶段:
g++:: g++ -E .cpp -o .i
gcc:: gcc -E .cc -o .i
编译阶段:
g++:: g++ -S .cpp > .s
gcc:: gcc -S .i -o .s
汇编阶段:
g++:: g++ -c .s -o .o (这一步使用了编译阶段生成的*.s文件)
gcc:: gcc -c .s -o .o
链接阶段:
g++:: g++ Link_file_names -o *.o
gcc:: gcc .o -o
通过查看生成的makefile文件,可以观察到,使用的是,gcc编译的,故而该错误可以通过更改c++源文件的后缀名来消除,所以只需要更改后缀名称即可,

目录
相关文章
|
7月前
|
SQL 关系型数据库 MySQL
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
134 0
问题提解决:ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host=‘files.pythonhos
问题提解决:ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host=‘files.pythonhos
|
7月前
|
SQL 关系型数据库 MySQL
[ERR] 2006 - MySQL server has gone away,Got a packet bigger than 'max_allowed_packet' bytes
[ERR] 2006 - MySQL server has gone away,Got a packet bigger than 'max_allowed_packet' bytes
56 0
|
C语言
安装mujoco报错:distutils.errors.DistutilsExecError: command ‘gcc‘ failed with exit status 1
安装mujoco报错:distutils.errors.DistutilsExecError: command ‘gcc‘ failed with exit status 1
671 0
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1179)
436 0
Parse error: syntax error, unexpected '<<' (T_SL) in .../test2.php on line 2
Parse error: syntax error, unexpected '<<' (T_SL) in .../test2.php on line 2
182 0
|
PyTorch 算法框架/工具
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=405 error=11 : invalid argument
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=405 error=11 : invalid argument
231 0
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=405 error=11 : invalid argument
curl: (48) An unknown option was passed in to libcurl
curl: (48) An unknown option was passed in to libcurl
133 0
flAbsPath on /var/lib/dpkg/status failed - realpath
flAbsPath on /var/lib/dpkg/status failed - realpath
125 0
成功解决ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。backend_agg.cp36
成功解决ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。backend_agg.cp36
成功解决ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。backend_agg.cp36