晚上好,遇到一个宏导致的错误
Test解决方案下有
Test1工程
Test2工程
文件路径为:
Test\Test1\Test2
Test2工程
Sample.h
#ifdef _SUPPORT_XY
class Sample
{
public:
Sample();
~Sample();
};
#endif
Sample.cpp
#include"stdafx.h"
#include"Sample.h"
#ifdef _SUPPORT_XY
对Sample的析构,构造实现,不写了,代码大家都懂
#endif
然后在stdafx.h中定义了 _SUPPORT_XY
分割线
Test1工程:
main.cpp
#include"stdafx.h"
#include".\Test2\Sample.h"
int main()
{
#ifdef _SUPPORT_XY
Sample sa;
#endif
}
同时在stdafx.h中定义 _SUPPORT_XY
连接后,就报错,什么原因呢? 不是编译错误,是连接错误
代码手头不再,当时记得就是如此
[解决办法]
1. 工程2的Sample.h没有#include "stdafx.h",加上。
2.
class Sample
{
public:
Sample(void);
~Sample(void);
};
改成:
class Sample
{
public:
Sample(void){}
~Sample(void){}
};
再试试看。