VS2019编写C++文件时,出现LNK2005、LNK1169报错的解决方法

前言

最近几天在自学 C++ 找了好多编辑器都不太趁手。

  • Clion 不可使用中文路径。
  • Dev-C++ 出现莫名其妙的错误
  • Code::Clock 玩不明白
  • VsCode 不能使用控制台输入

决定使用 Windows 下最强 IDE - VS2019。
嘿!还别说真不赖,感觉自己也是个大佬了,当然还差很多。

正文

VS2019 一个项目中只能有一个 mian 方法,所以不得不在 mian文件 中引入其他 cpp 文件,问题就来了

其他 cpp 文件

#include 
using namespace std;

void print(int num = 10)
{
     
	cout << num << endl;
}

mian 文件

#include 
#include "函数的默认参数.cpp"
using namespace std;

int main()
{
     
	print();
}

写完美滋滋 ctrl + f7 编译,没问题;ctrl + f5 运行报错了。。。
在这里插入图片描述
VS2019编写C++文件时,出现LNK2005、LNK1169报错的解决方法_第1张图片
于是在网上搜解决办法,那些办法看都看蒙了,还解决个毛。

最终参考这老哥的文章
VS2017编写C++多文件时,出现LNK2005、LNK1169报错的解决方法

逐渐摸索出了点东西。

其实解决也不难,就是定义一个头文件 函数的参数.h,把函数的声明写进去然后把 #include "***.cpp" 改成 #include "***.h",就完美了。

头文件

#pragma once
void print(int);
#include 
#include "函数的参数.h"
using namespace std;

int main()
{
     
	print();
}

即使没有引入 cpp 文件,通过头文件定义的函数原型,到项目下的cpp中找到具体的函数定义。

总结起来就是定义一个头文件,里面有函数的声明。将 mian 中的 #include "***.cpp" 改为 #include "***.h" 即可

你可能感兴趣的:(问题记录,c++)