类似这样的一个例子,三个文件:
1、add.h
#ifndef HELLO_H
#define HELLO_H
#include <stdio.h>
#include <stdlib.h>
int get(int a, int b);
#endif
2、add.c
#include "add.h"
int get(int a, int b)
{
return a + b;
}
3、main.cpp
#include "add.h"
int main()
{
int a = 3, b = 4;
int c = get(a, b);
printf("%d + %d = %d\n", a, b, c);
system("pause");
return 0;
}
碰见这样一个错误:
1>------ 已启动生成: 项目: ConsoleApplication1, 配置: Debug Win32 ------
1>main.cpp
1>main.obj : error LNK2019: 无法解析的外部符号 "int __cdecl get(int,int)" (?get@@YAHHH@Z),该符号在函数 _main 中被引用
1>F:\vs2017\ConsoleApplication1\Debug\ConsoleApplication1.exe : fatal error LNK1120: 1 个无法解析的外部命令
1>已完成生成项目“ConsoleApplication1.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
眼神好的朋友可能已经发现了,就是因为main.cpp
,改为main.c
就ok。