Cannot open include file: '..\INC\TypeSet.h'请教

swingwind 2009-05-29 11:48:15
用c++编程,(CAD图纸打印自动排版)在网上拷的部分代码如下:
#include "stdafx.h"
#include "..\INC\TypeSet.h"
//用法示例
void TestTypeset(HDC dc)
{
//声明一个板材对象
CTypeset typeset;
//设置板材对象大小
typeset.m_Desktop.m_dHeight=9999;
typeset.m_Desktop.m_dWidth=100;
//声明一个排样元素对象
CMaterial material;
//设置排样元素对象大小
material.SetSize(20,99);
//添加进入板材对象
typeset.Add(&material);
//继续添加
material.SetSize(99,80);
typeset.Add(&material);
material.SetSize(10,60);
typeset.Add(&material);
material.SetSize(50,20);
typeset.Add(&material);
//添加完毕,进行排样
typeset.Go();
//排样完毕,输出
list<CMaterial*>::iterator iter;
//画板材对象
::Rectangle(dc,typeset.m_Desktop.m_dX,typeset.m_Desktop.m_dY,
typeset.m_Desktop.m_dX+typeset.m_Desktop.m_dWidth,
typeset.m_Desktop.m_dY+typeset.m_Desktop.m_dHeight);
//画排样元素对象
for(iter=typeset.m_MaterialList.begin();iter!=typeset.m_MaterialList.end();iter++)
{
::Rectangle(dc,(*iter)->m_dX,(*iter)->m_dY,
(*iter)->m_dX+(*iter)->m_dWidth,
(*iter)->m_dY+(*iter)->m_dHeight);
}

}

刚开始编译的时候说"stdafx.h"找不到,后来把"stdafx.h"头文件复制到工程区里好了,但编译的时候又出现Cannot open include file: '..\INC\TypeSet.h': No such file or directory。
在网上查也查不到'..\INC\TypeSet.h',请高手帮帮忙,万分感谢!急用!!!
...全文
143 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
moon2008moon 2009-05-29
  • 打赏
  • 举报
回复
#include "..\INC\TypeSet.h"应该是编译器从用户的工作路径开始搜索文件
你在哪考的代码应该到那里去找下
lingyin55 2009-05-29
  • 打赏
  • 举报
回复
zgjxwl 2009-05-29
  • 打赏
  • 举报
回复
你下载下来的里面应该有TypeSet.h,要是没有。。都是白搭。。除非没用到。
lingyin55 2009-05-29
  • 打赏
  • 举报
回复
TypeSet.h这个应该是一个自定义的头文件,不是系统自带的。
zgjxwl 2009-05-29
  • 打赏
  • 举报
回复
你先看看你电脑里有 #include "..\INC\TypeSet.h" 这个不
woods2001 2009-05-29
  • 打赏
  • 举报
回复
在有 CAD的那个电脑中搜索一下看撒~
swingwind 2009-05-29
  • 打赏
  • 举报
回复
照你说的做了,编译时没错,但连接的时候出错了,有很多这样的错误:Rectangle.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) const CMaterial::`vftable'" (__imp_??_7CMaterial@@6B@)
我正在查,谢谢以上的指点了。O(∩_∩)O~
lingyin55 2009-05-29
  • 打赏
  • 举报
回复
楼主还是不明白我的意思。。。

把下面这些拷贝保存成TypeSet.h。
然后在你原来的程序中找到下面的代码并删除。


// TypeSet.h: interface for the CTypeset class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TYPESET_H__46213FAE_D2D6_42A6_B801_41D9109CD0FB__INCLUDED_)
#define AFX_TYPESET_H__46213FAE_D2D6_42A6_B801_41D9109CD0FB__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#pragma warning(disable:4786)
#pragma warning(disable:4251)
#include <list>
#include <string>
using namespace std;

#ifdef TYPESETLIB_EXPORTS
#define TYPESETLIB_API __declspec(dllexport)
#else
#define TYPESETLIB_API __declspec(dllimport)
#endif


TYPESETLIB_API void TestTypeset(HDC dc);

class TYPESETLIB_API CMaterial
{
public:
virtual CMaterial* Copy();
virtual void SetUsed(BOOL bUsed);
virtual void Rotated();
virtual void SetSize(double dWidth,double dHeight);
virtual double GetArea(){ return m_dHeight*m_dWidth; }
CMaterial();
CMaterial(CMaterial *pMaterial);
CMaterial(double dWidth,double dHeight);
virtual ~CMaterial();
double m_dHeight,m_dWidth;
double m_dX,m_dY;
BOOL m_bUsed;
BOOL m_bSeletcted;
BOOL m_bRotated;
int m_iIndex;

};
class TYPESETLIB_API CTypeset
{
public:
virtual double Go();
virtual void Add(CMaterial *pMaterial);
CTypeset();
virtual ~CTypeset();
list<CMaterial*> m_MaterialList;
CMaterial m_Desktop;
protected:
virtual void SetStatus(list<CMaterial*> *pList, BOOL bUsed);
virtual double Typeset(double dStatrX,double dStatrY,double dStatrHei,double dStatrWid,
list<CMaterial*> *pList);
virtual void Sort();
virtual void Clear();
int m_iCurIndex;
};


#endif // !defined(AFX_TYPESET_H__46213FAE_D2D6_42A6_B801_41D9109CD0FB__INCLUDED_)
swingwind 2009-05-29
  • 打赏
  • 举报
回复
在电脑上搜了一下,根本就找不到TypeSet.h这个文件呢?
lingyin55 2009-05-29
  • 打赏
  • 举报
回复
另外,你是不是copy的时候把TypeSet.h这个文件里面的东西都放到一个文件去了??
要分开放啊。

[Quote=引用 7 楼 swingwind 的回复:]
是这个程序没错,一模一样。但是编译的时候出现Cannot open include file: '..\INC\TypeSet.h': No such file or directory。找不到'..\INC\TypeSet.h'
[/Quote]
lingyin55 2009-05-29
  • 打赏
  • 举报
回复
粗看了下,里面应该是有这个TypeSet.h文件的。
你把TypeSet.h这个文件放到和你的源文件同个目录下,然后直接
#include "TypeSet.h"

[Quote=引用 7 楼 swingwind 的回复:]
是这个程序没错,一模一样。但是编译的时候出现Cannot open include file: '..\INC\TypeSet.h': No such file or directory。找不到'..\INC\TypeSet.h'
[/Quote]
swingwind 2009-05-29
  • 打赏
  • 举报
回复
没有。
swingwind 2009-05-29
  • 打赏
  • 举报
回复
是这个程序没错,一模一样。但是编译的时候出现Cannot open include file: '..\INC\TypeSet.h': No such file or directory。找不到'..\INC\TypeSet.h'

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧