描述:
Hi, 我遇到一个编译问题。
新建一个wtl sdi项目,然后加入c1.h和c1.cpp。
内容如下:
------c1.h--------
#ifndef _DDH_C1_H_
#define _DDH_C1_H_
#pragma once
class C1
{
public:
enum BYTEORDER
{
BIGENDIAN,
LITTLEENDIAN,
};
public:
void TextOut();
};
#endif
------c1.cpp---------
#include "Stdafx.h"
#include "c1.h"
void C1::TextOut()
{
int i = 0;
}
c1.cpp缺省使用了预编译头。于是编译就出错了:
正在编译...
c1.cpp
h:\test\vc\TEMP\Test\others\1\wtlPCHTest\test3\C1.h(10) : error C2143: 语法错误 : 缺少“}”(在“常数”的前面)
h:\test\vc\TEMP\Test\others\1\wtlPCHTest\test3\C1.h(12) : error C2143: 语法错误 : 缺少“;”(在“}”的前面)
h:\test\vc\TEMP\Test\others\1\wtlPCHTest\test3\C1.h(12) : error C2238: 意外的标记位于“;”之前
h:\test\vc\TEMP\Test\others\1\wtlPCHTest\test3\C1.h(14) : error C2059: 语法错误 : “public”
h:\test\vc\TEMP\Test\others\1\wtlPCHTest\test3\C1.h(16) : error C2059: 语法错误 : “}”
等等。
如果取消c1.cpp对预编译头的使用,那么是没有问题的。但是c1.h可能会被很多.cpp用到,因此我不想把所有涉及到的.cpp都改成不要用预编译的:(
不知道谁知道怎样解决这个问题?
非常感谢!
解决方案1:
楼主已经解决问题了,我来迟了。
但是从你的程序出错及你的问题解决过程,那个出错提示有点莫名其妙,学软件真的是难呀!!!
把vc6和vc7的编译条件对比以下看有什么不同,关注
解决方案3:RebuildAll试试
您可能想查找下面的文章:
- 看了一下WTL,对这个代码看不懂
- 要用atl写个控件,涉及到界面的,怎么将wtl和atl结合起来用呐?用wtl来做控件的界面
- 在ATL中使用WTL中的CFileDialog实现预览功能出现的不刷新问题,高手进
- 使用WTL库,编译提示“cannotopenincludefile"atlresh"”,这是怎么回事?
- WTL能否用于ATL做COM组件的界面?需要注意什么?
- WTL中,怎么改变lineto画线的颜色和粗细?
- WTL问题,MainFrame加一个Destory响应怎么会这样
- 请大家帮忙看看这个:关于wtl
- WTL,CCodePageCombo继承CComboBoxT<ATL::CWindow>类,需要响应下拉菜单CloseUp的消息
- WTL下如何添加Mediaplayer控件