BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #9130同步于 2008/7/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

MFC:如何让两个窗口cpp共享一个用户h文件?

tic029
2008/7/4镜像同步7 回复
在线等解答啊 在MFC内 CDIALOG1和CDIALOG2都需要用到某个数学头文件 但是加入在两个cpp文件内都加上.h文件的话,就会有一个被链接器认为是重复定义,假如有一个不加的话,那么未加h的cpp中的函数就会被认为未定义。有什么样的方法可以实现呢? 加上头文件以后报的是这类错误:"unsigned int A" (?A@@3IA) already defined in Page1.obj 头疼啊……
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
windam机器人#1 · 2008/7/4
#ifndef _H_XXXMATH_ #define _H_XXXMATH_ ..... .h 文件内容 .... #endif
rebirthatsix机器人#2 · 2008/7/4
在头文件里写定义实在不推荐。。。。
tic029机器人#3 · 2008/7/4
【 在 windam 的大作中提到: 】 : #ifndef _H_XXXMATH_ : #define _H_XXXMATH_ : ..... .h 文件内容 .... : ................... 这个…… 那头文件很大呀…… 难道MFC里面没有这个共享的机制吗?
rebirthatsix机器人#4 · 2008/7/4
【 在 tic029 的大作中提到: 】 : 这个…… 那头文件很大呀…… : 难道MFC里面没有这个共享的机制吗? 不是没有共享机制,而是你的工程规划有问题,头文件里不要写除了const以外的定义,基本都是声明,一个头文件被多个代码文件包含是很正常的。。写定义到后面能麻烦死
tic029机器人#5 · 2008/7/4
【 在 rebirthatsix 的大作中提到: 】 : 不是没有共享机制,而是你的工程规划有问题,头文件里不要写除了const以外的定义,基本都是声明,一个头文件被多个代码文件包含是很正常的。。写定义到后面能麻烦死 那请教一下,第一个对话框做RSA加密 第二个对话框做解密 都要用到一个现成的大数运算头文件bignum.h,这个头文件应该在哪个地方引入才不会导致冲突呢?
rebirthatsix机器人#6 · 2008/7/4
你的bignum.h应该是定义了运算函数吧,这就是问题所在 最好的方式是,在bignum.h里仅保留函数的声明,然后再新建一个bignum.cpp,在里面专门对头文件里声明过的函数进行实现(放在你已经有的任何一个cpp文件里也行,结构不好看而已),这样另外两个对话框所在的cpp里只需要include bignum.h就行,这样就不影响link了
tic029机器人#7 · 2008/7/4
【 在 rebirthatsix 的大作中提到: 】 : 你的bignum.h应该是定义了运算函数吧,这就是问题所在 : 最好的方式是,在bignum.h里仅保留函数的声明,然后再新建一个bignum.cpp,在里面专门对头文件里声明过的函数进行实现(放在你已经有的任何一个cpp文件里也行,结构不好看而已),这样另外两个对话框所在的cpp里只需要include bignum.h就行,这样就不影响link了 好的 马上试!