文章目录
- c++ - 右击一个cpp文件,但是编译菜单项是灰的
- 概述
- END
c++ - 右击一个cpp文件,但是编译菜单项是灰的
概述
VS2019, 整理工程,在编译,工程报错,说有个函数的实现没找到。
有实现part_opt.cpp,头文件也包的正确。
去编译输出目录看,发现没有part_opt.cpp生成的part_opt.obj
如果没有这个cpp生成的.obj, 那么这个实现.cpp中一定有错误,导致编译不过。
只要将这个.cpp编译过了, 缺的实现的.obj就有了。
但是发现一个怪现象,右击这个.cpp, 编译的菜单是灰的。
比对了其他的正常能编译的.cpp, 发现右击属性中的文件类型有不同。
这个.cpp的属性中,项类型被标记为头文件。
正常能编译的cpp文件,项类型都是c++
将不能编译的part_opt.cpp,右击属性的项类型改为c++, 就可以编译了。
原因分析 : 可能新建文件时,默认是.h, 没有选择为.cpp类型。导致VS2019将文件.cpp的编译选项标记为了头文件,不参与编译引起的问题。
即使新建了.h, 然后将文件改名为.cpp, 但是右击属性中的项类型还是头文件。
如果遇到这种情况,确认一下右击属性中的项类型是否为C++即可。