社区
界面
帖子详情
我写了一个函数放到了一个h文件中,在mfc项目的stdafx.h中添加了包含 出现链接错误LNK2005
外星人oo
2008-01-04 11:10:30
我写了一个函数放到了一个abc.h文件中,在mfc项目的stdafx.h中添加了包含abc.h ,则 出现链接错误LNK2005
如不放到stdafx.h中,而直接在使用这个函数的cpp文件里包含这个abc.h 就不会有错
...全文
131
8
打赏
收藏
我写了一个函数放到了一个h文件中,在mfc项目的stdafx.h中添加了包含 出现链接错误LNK2005
我写了一个函数放到了一个abc.h文件中,在mfc项目的stdafx.h中添加了包含abc.h ,则 出现链接错误LNK2005 如不放到stdafx.h中,而直接在使用这个函数的cpp文件里包含这个abc.h 就不会有错
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
外星人oo
2008-01-23
打赏
举报
回复
谢谢各位的热心帮助
我是在学习wtl
wtl没有cpp文件,所有实现都写在了h文件里面
却没有这种问题呢?
VcGreenhand
2008-01-14
打赏
举报
回复
编译器是编译每个cpp文件,你在abc.h里面写了函数的实现,afx.h里面include了abc.h,
而有很多gecpp文件include了afx.h,也就是很多个cpp文件里面有这个函数的实现,
在链接器链接时就会发现有多个同名函数,所以会报错.
如果最终只有一个cpp文件include了abc.h则不会出错,或者在abc.h中将函数申明为inline.
queshangxintou
2008-01-14
打赏
举报
回复
编译器认为你对函数没有作声明,所以会 出错,加上inline就说明你的函数是个内联函数,这样编译器就会认为你是在声明时加的函数体。
外星人oo
2008-01-12
打赏
举报
回复
#ifndef _ABCFUNC
#define _ABCFUNC
在此处添加函数定义
#endif
已经加上了 用的是 #pragma once
加入 使用inline. 确实解决了问题 还请 xyzhaopeng 讲讲为什么
cdsnpeter
2008-01-09
打赏
举报
回复
使用inline.
外星人oo
2008-01-04
打赏
举报
回复
谢谢帮助,abc.h
中有函数实现,但没有全局变量
珍惜生命远离CPP
2008-01-04
打赏
举报
回复
你这个abc.h有函数实现么?
有没有定义全局变量?
luohongming
2008-01-04
打赏
举报
回复
#ifndef _ABCFUNC
#define _ABCFUNC
在此处添加函数定义
#endif
Cannot open include file: '
std
afx
.h ': No such file or directory
提示:Cannot open include file: '
std
afx
.h ': No such file or directory #include "
std
Afx
.h "
放到
另外#include的前面,也就是程序的最前面。使用预编译头
文件
需要把它
放到
程序最前面,否则它前面的内容会被忽略。 -------------------------------
关于#include "
std
afx
.h"以及预编译头
文件
的问题
提示:Cannot open include file: '
std
afx
.h ': No such file or directory #include "
std
Afx
.h "
放到
另外#include的前面,也就是程序的最前面。使用预编译头
文件
需要把它
放到
程序最前面,否则它前面的内容会被忽略。 -------------------------------
从
LN
K2
005
看
std
afx
.h
编译
错误
:n
afx
cwd.lib(
afx
mem.obj) : error
LN
K2
005
:"void __cdecl operator delete(void *)"(??3@YAXPAX@Z) already definedin LIBCMTD.lib(dbgnew.obj)问题说明: http://support.microsoft.com/default.aspx?scid=kb;en-us
提示:Cannot open include file: '
std
afx
.h ': No such file or directory
提示:Cannot open include file: '
std
afx
.h ': No such file or directory #include "
std
Afx
.h "
放到
另外#include的前面,也就是程序的最前面。使用预编译头
文件
需要把它
放到
程序最前面,否则它前面的内容会被忽略。 -------------------------
WIN32 DLL
中
使用
MFC
最近用WIN32 DLL,为了方便要用到
MFC
的一些库,又不想转工程,就网上找了很多方法,发现没有详细的介绍,有的也行不通,现在成功在WIN32 DLL
中
使用了
MFC
,记录一下以防以后用到忘记 一、修改预编译头
文件
(
std
afx
.h) 在
std
afx
.h
文件
中
添加
下面代码,
包含
一些
MFC
的头
文件
,这些可以在
一个
MFC
工程
中
复制过来 #define _ATL_CSTRING_EXPL...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章