VS2010中如何添加graphics.h头文件

xurilenovo 2011-06-04 12:11:37
我看了下,网上说graphics.h这个是TC专有的
一个是http://www.rupeng.com/forum/thread-12260-1-1.html这里说的添加方法,我试了不行
还有就是安装EasyX最新的库,安装了也不行,字符也调整为unicode都不行
运行下面的程序,显示未
错误 70 error LNK2001: 无法解析的外部符号 __imp__GetCurrentObject@8 G:\Programming\Visual Studio 2010\Projects\C\Test\graphicsw.lib(EasyX.DrawOnImg.obj)
错误 47 error LNK2019: 无法解析的外部符号 __imp__CreateBitmap@20,该符号在函数 "public: virtual void __thiscall EasyX::DrawOnWnd::setfillstyle(unsigned long,int,char const *)" (?setfillstyle@DrawOnWnd@EasyX@@UAEXKHPBD@Z) 中被引用 G:\Programming\Visual Studio 2010\Projects\C\Test\graphicsw.lib(EasyX.DrawOnWnd.obj)
请问有高手知道怎么解决吗???别说用什么其他的GDI什么的

#include<graphics.h>
#include <conio.h>
main()
{
int i,j;
initgraph(640,480);
for(i=120;i<=400;i=i+20)
{
for(i=120;i<=400;i=i+20)
{
putpixel(i,j,2);
putpixel(j,i,2);
}
}
getch();
closegraph();

}
...全文
8936 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
pingdan32 2011-06-05
  • 打赏
  • 举报
回复
还TC,是看上他能画图了吧?????
想画图,学VC里的API~~~比那个好看多了~~~
辰岡墨竹 2011-06-04
  • 打赏
  • 举报
回复
http://www.codingnow.com/text/allegro.htm
就连DOS游戏开发大师云风用了DJGPP,立刻就把Watcom C++删掉了。VC因为无法编译16位程序,不能用来开发DOS游戏。
Allergo的主要特性:
支持 VGA 13h 标准模式
支持 22 种 Mode-X 模式及 640x400 的 X 扩展模式
支持 8,15,16,24,32 bit 色彩深度的 SVGA 模式
支持 VESA 2.0 标准包括线形缓冲
支持 ATI,Cirrus,Paradise,S3,Trident,Tseng,Video-7 等多种显卡
拥有绘点,直线,矩形,圆,多边形,bezier 曲线,填充...函数
精灵可以被旋转,改变大小等,而且数据压缩储存
一流的半透明,光影效果
硬件卷屏,Mode-X 屏幕操作,调色版处理
可以播放 FLI/FLC 文件
背景播放 MIDI
同时处理 32 个音效,播放时软件处理效果.(循环,倒放,淡出等)
支持 Adlib,SB,SB Pro,SB16,AWE32,MPU-401,还有软波表!
处理键盘,鼠标,游戏杆易如反掌
支持高频时钟中断,软件模拟垂直扫描线中断
所有数据文件可以被放入一个LZSS算法压缩的DAT文件中
提供一个管理 DAT 文件的软件
一个数学函数库,使用整数模拟小数,三角函数查表获得
3D 矢量/矩阵 处理
GUI 对话管理/文件选择 界面
辰岡墨竹 2011-06-04
  • 打赏
  • 举报
回复
不明白我的意思么?你得先让VC能编译出16位程序,否则就算让它支持BGI,也是白搭。就算你找到了方法手动加载ntvdm(像cmd里执行DOS程序那样,但是这方面的机制应该是没有公开文档的),也必须准备另一个16位EXE以ntvdm为宿主才行,因为ntvdm里只能运行16位程序。
我建议你放弃VC,用DJGPP,虽然它编译程序是GCC for DOS/Win,但是它的IDE却和TC十分相像,而且也能输出DOS、Windows、Linux等多平台程序。附带的Allegro和GRX两个很强大的库。前者是极其完善的游戏用的图形(支持VESA等高级显示模式)、声卡(支持SB16等)、键盘开发库。后者是一个图形库(支持画点、线什么的),提供接口能兼容Borland显卡驱动。而且DJGPP也支持DPMI DOS保护模式编程,可以使用32位地址空间。
FreeDOS下很多优秀的程序都是用DJGPP写的,因为是GCC的,所以支持C99等新标准。TC下的程序很容易移植到DJGPP里。
树下 2011-06-04
  • 打赏
  • 举报
回复
还有tc呀,画图直接调用api,多方便呀
ryfdizuo 2011-06-04
  • 打赏
  • 举报
回复
都什么年代了,还TC。。。
xurilenovo 2011-06-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bokutake 的回复:]
的确,这个graphics.h是TC专有的,而且需要配合Borland的图形驱动才行。
不过推荐你用VC,因为VC的编译器编译出来的程序一般是纯32位的可执行程序。
而TC里的图形驱动需要低级显卡寄存器操作,这个必须配合16位DOS虚拟机(ntvdm)模拟VGA硬件才行。仅靠32位cmd.exe提供的有限控制台功能是不行的。
而且Windows里只有加载16位程序时才会自动调用16位虚拟机,……
[/Quote]


都说了VC也差这个啊。。。你能不能提供点有用的方法啊。。。感觉完全是空吹。。。。
辰岡墨竹 2011-06-04
  • 打赏
  • 举报
回复
http://en.wikipedia.org/wiki/Borland_Graphics_Interface
http://www.cs.colorado.edu/~main/cs1300/doc/bgi/
看了一下,winbgim这个库可以让Borland C编译器,GCC编译器等编译BGI图形程序,但是不知道VC是否兼容。
辰岡墨竹 2011-06-04
  • 打赏
  • 举报
回复
想了一下,TC或BC++的BGI子目录就是Borland的显卡驱动,不过它们格式特殊,可能只有TC/BC++/TP等的编译器内部才有相应的支持,非Borland的编译器不能自动选择正确的库链接。
辰岡墨竹 2011-06-04
  • 打赏
  • 举报
回复
的确,这个graphics.h是TC专有的,而且需要配合Borland的图形驱动才行。
不过推荐你用VC,因为VC的编译器编译出来的程序一般是纯32位的可执行程序。
而TC里的图形驱动需要低级显卡寄存器操作,这个必须配合16位DOS虚拟机(ntvdm)模拟VGA硬件才行。仅靠32位cmd.exe提供的有限控制台功能是不行的。
而且Windows里只有加载16位程序时才会自动调用16位虚拟机,尤其是9x/ME等系统里16位和32位虚拟机是有明确区别的,所以你最好用一个支持输出16位DOS的MZ可执行文件的编译器,比如DJGPP什么的。

70,008

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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