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++源文件的后缀名来消除,所以只需要更改后缀名称即可,

目录
相关文章
|
3月前
|
Python
解决安装ConcurrentLogHandler报错error in ConcurrentLogHandler setup command: use_2to3 is invalid.
本文介绍了在Python环境下安装ConcurrentLogHandler时遇到的"use_2to3 is invalid"错误的解决方法,主要是通过降级setuptools到57.5.0版本来解决该问题。
146 2
问题提解决: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
|
6月前
|
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
52 0
|
C语言
安装mujoco报错:distutils.errors.DistutilsExecError: command ‘gcc‘ failed with exit status 1
安装mujoco报错:distutils.errors.DistutilsExecError: command ‘gcc‘ failed with exit status 1
627 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)
357 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
158 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
209 0
THCudaCheck FAIL file=/pytorch/aten/src/THC/THCGeneral.cpp line=405 error=11 : invalid argument
error: invalid argument ‘-std=gnu++98‘ not allowed with ‘C‘
error: invalid argument ‘-std=gnu++98‘ not allowed with ‘C‘
115 0
ERROR: Could not install packages due to an Oserror: [Errno 13] Permission denied: RECORD Consider
ERROR: Could not install packages due to an Oserror: [Errno 13] Permission denied: RECORD Consider
1093 0
ERROR: Could not install packages due to an Oserror: [Errno 13] Permission denied: RECORD Consider
|
PHP Windows
composer PHP Fatal error: Allowed memory size of 报错解决
composer PHP Fatal error: Allowed memory size of 报错解决
131 0