2 strawberry233 strawberry233 于 2016.03.23 10:35 提问

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下面,不知道这样对不对。求教!!!!!!

3个回答

x356982611
x356982611   2016.03.23 11:39
已采纳

根据描述像是头文件的多次引用问题,头文件加#pragma once 或者把定义的东西用ifdef endif 包起来

lx624909677
lx624909677   Ds   Rxr 2016.03.23 12:26

线程函数可以是类的成员函数,做成友元的就可以了

strawberry233
strawberry233   2016.03.23 19:43

自己已经找到问题,谢谢楼上两位!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!