请各位大神帮忙看看,弹出错误:error LNK2019: 无法解析的外部符号 "int __cdecl sum(int,int)" (?sum@@Y

sum.h文件
#ifndef SUM_H
#define SUM_H
int sum(int a,int b);
#endif
sum.cpp文件
#include "sum.h"
int sum(int a,int b )
{
return a+b;
}
win32主函数
#include "stdafx.h"
#include "sum.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int a,b;
a=3;
b=5;
int c=sum(a,b);
cout<<c<<endl;
int i;
cin>>i;
return 0;
}
相关推荐
解决error LNK2001 无法解析的外部符号 int __cdecl sprintf(
解决error LNK2001 无法解析的外部符号 int __cdecl sprintf(
VS2015 MFC DLL开发实战:从创建到部署的完整指南
动态链接库(DLL)是Windows平台实现代码复用和模块化开发的核心技术,它通过导出函数接口,将功能封装为独立的二进制模块,供主程序动态调用。其原理在于运行时链接,能有效减少内存占用、便于更新和维护。在遗留系统升级和工业控制等领域,基于MFC(微软基础类库)的DLL开发依然是高效集成新功能的关键手段。本文以Visual Studio 2015为环境,深入解析MFC规则DLL的创建、接口设计(包括使用.def文件和__declspec(dllexport))、编译链接问题解决(如LNK2019错误)以及运行
vs常见编译错误集锦
vs常见编译错误集锦 vs常见编译错误集锦 vs常见编译错误集锦
uafxcwd.lib LIBCMTD.lib 弱外部链接
uafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj) uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib(dbgdel.obj) uafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z) already defined in LIBCMTD.lib(delete2.obj) 原因: CRT 库对 new、delete 和 DllMain 函数使用弱外部链接。MFC 库也包含 new、delete 和 DllMain 函数。这些函数要求先链接 MFC 库,然后再链接 CRT 库。 当 C 运行时 (CRT) 库和 Microsoft 基础类 (MFC) 库的链接顺序有误时,可能会出现以下 LNK2005 错误。 解决方法: 强制链接器按照正确的顺序链接库! project->properties->Linker->Ignore Specific Library 添加 uafxcwd.lib Libcmtd.lib 在Additional Dependencied添加uafxcwd.lib Libcmtd.lib 问题解决!
C和C++混合编程问题
主要介绍了C和C++混合编程问题,需要的朋友可以参考下


