问题描述
- mfc中定义大量宏的问题
- 我定义了大量的宏,在cmainframe和一个共有类(用于存放一些静态函数和变量,主要是为了线程函数中使用全局变量)中里面的一个函数中需要使用到,我直接把它们放在一个头文件中然后include,就报了
error LNK2005: ""struct Zeni_MTS_Rolypon_InOut InOutRoly"" (?InOutRoly@@3UZeni_MTS_Rolypon_InOut@@A) already defined in bowei.obj这样一堆问题。还想问问,线程函数只能是全局或者静态函数,那在MFC它们应该在哪被定义。我之前是定义在Cxxxapp的theapp下面,不知道这样对不对。求教!!!!!!
解决方案
根据描述像是头文件的多次引用问题,头文件加#pragma once 或者把定义的东西用ifdef endif 包起来
解决方案二:
线程函数可以是类的成员函数,做成友元的就可以了
解决方案三:
自己已经找到问题,谢谢楼上两位!
时间: 2025-01-07 17:24:57