操作系统为win2000专业版,C编译器为TC2.0。该.exe文件包含了"graphics.h",其他的.exe文件复制到其他文件夹时可以运行,怎么解决饿?!!!!!!
14 个解决方案
#1
这个.exe文件是做什么用的,他是不是需要调用以前的文件夹中东西,或者在这个.exe产生的过程中将一些东西只有原目录下有的东西固化进去了???
我只能想到这些了
我只能想到这些了
#2
如果你用了graphics库,就一定用到了bgi中的一些显示器和字体等驱动配置文件,把相应的文件copy到同一个目录,就好
#3
将d:\tc2\bgi 目录下的vgaega.bgi文件复制到你的.exe文件所在目录,如果还不行,就全部
复制过去,这样也许可以解决
复制过去,这样也许可以解决
#4
恩咯 解决了 egaega.bgi 加上去就可以了 这个文件是什么文件,后缀名.bgi是什么意思啊?
#5
图形库吧!可以和执行文件合并!
#6
具体命令忘记了!
#7
没有用TC好多年了。
#8
执行文件合并?着怎么合并啊?
好象 debug *1.obj+*2.obj 可以吧?
好象 debug *1.obj+*2.obj 可以吧?
#9
sfhis是什么意思呀
#10
什么意思呀
#11
要是有graphics这个图形库,那你的可执行文件.exe就和程序中的那个initgraph函数中的.bgi文件的路径有关了.
只要程序中的指定的那个路径下有那个文件,就能正确的执行.
还有一个方法就是包含进图形库,这样,就不会依赖与别的文件了.
只要程序中的指定的那个路径下有那个文件,就能正确的执行.
还有一个方法就是包含进图形库,这样,就不会依赖与别的文件了.
#12
执行文件合并?着怎么合并啊?
好象 debug *1.obj+*2.obj 可以吧?
--------------------
好象是tlib 1.obj+*2.obj 吧?!
好象 debug *1.obj+*2.obj 可以吧?
--------------------
好象是tlib 1.obj+*2.obj 吧?!
#13
要把库形库也放进exe文件里面才行。
让C/C++图形程序独立运行
2003-04-17· · ··
C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数:
void far initgraph(int far *GD,int far *GM,char *P);
其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。
图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为:
void far closegraph(void);
许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤:
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:
C:\TC>BGIOBJ EGAVGA
按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:
C:\TC>BGIOBJ TRIP
C:\TC>BGIOBJ LITT
C:\TC>BGIOBJ SANS
C:\TC>BGIOBJ GOTH
2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH
也可以使用TLIB、PRJ程序代替TLINK。
3.在程序中调用initgraph()函数前,应加上如下语句:
registerbgidriver(EGAVGA-driver);
它通知连接程序把EGAVGA驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句:
registerbgifont(字体文件名);
4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为:
void InitGra(void)
{int GD=DETECT,GM;
registerbgidriver(EGAVGA_driver);
registerbgifont(triplex_font);
registerbgifont(small_font);
registerbgifont(sansserif_font);
registerbgifont(gothic_font);
initgraph(&GD,&GM,"");
}
按照以上步骤,就能实现图形程序的独立运行
让C/C++图形程序独立运行
2003-04-17· · ··
C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数:
void far initgraph(int far *GD,int far *GM,char *P);
其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。
图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为:
void far closegraph(void);
许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤:
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:
C:\TC>BGIOBJ EGAVGA
按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:
C:\TC>BGIOBJ TRIP
C:\TC>BGIOBJ LITT
C:\TC>BGIOBJ SANS
C:\TC>BGIOBJ GOTH
2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH
也可以使用TLIB、PRJ程序代替TLINK。
3.在程序中调用initgraph()函数前,应加上如下语句:
registerbgidriver(EGAVGA-driver);
它通知连接程序把EGAVGA驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句:
registerbgifont(字体文件名);
4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为:
void InitGra(void)
{int GD=DETECT,GM;
registerbgidriver(EGAVGA_driver);
registerbgifont(triplex_font);
registerbgifont(small_font);
registerbgifont(sansserif_font);
registerbgifont(gothic_font);
initgraph(&GD,&GM,"");
}
按照以上步骤,就能实现图形程序的独立运行
#14
zhangfjj(小张) :呵呵~~是我记错了~ link 1.obj+2.obj 是可用的,不过是在汇编环境下 既然都是.obj文件的话,如果字符表示一样的话应该也可以合并通过C而产生的.obj文件吧?
chon81(当我遇上你…) :我在去试试 谢谢了
chon81(当我遇上你…) :我在去试试 谢谢了
#1
这个.exe文件是做什么用的,他是不是需要调用以前的文件夹中东西,或者在这个.exe产生的过程中将一些东西只有原目录下有的东西固化进去了???
我只能想到这些了
我只能想到这些了
#2
如果你用了graphics库,就一定用到了bgi中的一些显示器和字体等驱动配置文件,把相应的文件copy到同一个目录,就好
#3
将d:\tc2\bgi 目录下的vgaega.bgi文件复制到你的.exe文件所在目录,如果还不行,就全部
复制过去,这样也许可以解决
复制过去,这样也许可以解决
#4
恩咯 解决了 egaega.bgi 加上去就可以了 这个文件是什么文件,后缀名.bgi是什么意思啊?
#5
图形库吧!可以和执行文件合并!
#6
具体命令忘记了!
#7
没有用TC好多年了。
#8
执行文件合并?着怎么合并啊?
好象 debug *1.obj+*2.obj 可以吧?
好象 debug *1.obj+*2.obj 可以吧?
#9
sfhis是什么意思呀
#10
什么意思呀
#11
要是有graphics这个图形库,那你的可执行文件.exe就和程序中的那个initgraph函数中的.bgi文件的路径有关了.
只要程序中的指定的那个路径下有那个文件,就能正确的执行.
还有一个方法就是包含进图形库,这样,就不会依赖与别的文件了.
只要程序中的指定的那个路径下有那个文件,就能正确的执行.
还有一个方法就是包含进图形库,这样,就不会依赖与别的文件了.
#12
执行文件合并?着怎么合并啊?
好象 debug *1.obj+*2.obj 可以吧?
--------------------
好象是tlib 1.obj+*2.obj 吧?!
好象 debug *1.obj+*2.obj 可以吧?
--------------------
好象是tlib 1.obj+*2.obj 吧?!
#13
要把库形库也放进exe文件里面才行。
让C/C++图形程序独立运行
2003-04-17· · ··
C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数:
void far initgraph(int far *GD,int far *GM,char *P);
其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。
图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为:
void far closegraph(void);
许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤:
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:
C:\TC>BGIOBJ EGAVGA
按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:
C:\TC>BGIOBJ TRIP
C:\TC>BGIOBJ LITT
C:\TC>BGIOBJ SANS
C:\TC>BGIOBJ GOTH
2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH
也可以使用TLIB、PRJ程序代替TLINK。
3.在程序中调用initgraph()函数前,应加上如下语句:
registerbgidriver(EGAVGA-driver);
它通知连接程序把EGAVGA驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句:
registerbgifont(字体文件名);
4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为:
void InitGra(void)
{int GD=DETECT,GM;
registerbgidriver(EGAVGA_driver);
registerbgifont(triplex_font);
registerbgifont(small_font);
registerbgifont(sansserif_font);
registerbgifont(gothic_font);
initgraph(&GD,&GM,"");
}
按照以上步骤,就能实现图形程序的独立运行
让C/C++图形程序独立运行
2003-04-17· · ··
C/C++语言提供了十分丰富的图形函数,图形函数文件为Graphics.h,使用图形函数前须先将屏幕设置为图形模式,C/C++语言提供了下面的函数:
void far initgraph(int far *GD,int far *GM,char *P);
其中,GD和GM分别表示图形驱动程序和图形模式,P指图形驱动程序所在的目录路径。
图形驱动程序由Borland公司(对于Turbo C和Borland C++)提供,同时C/C++语言还提供了退出图形状态的函数closegraph(),格式为:
void far closegraph(void);
许你经常在用C/C++语言编写一些图形程序,但是总不能脱离C/C++语言环境独立运行,我们怎样来解决呢?下面是实现图形程序独立运行的具体步骤:
1.将驱动程序EGAVGA.BGI转换成目标文件EGAVGA.OBJ:
C:\TC>BGIOBJ EGAVGA
按同样的办法,将字体文件*.CHR转换成目标文件*.OBJ:
C:\TC>BGIOBJ TRIP
C:\TC>BGIOBJ LITT
C:\TC>BGIOBJ SANS
C:\TC>BGIOBJ GOTH
2.将上述建立的OBJ文件加入到GRAPHICS.LIB库文件中,具体方法如下:
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+EGAVGA
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+TRIP
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+LITT
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+SANS
C:\TC>TLINK C:\TC\LIB\GRAPHICS.LIB+GOTH
也可以使用TLIB、PRJ程序代替TLINK。
3.在程序中调用initgraph()函数前,应加上如下语句:
registerbgidriver(EGAVGA-driver);
它通知连接程序把EGAVGA驱动程序装入用户的执行程序中,同样在装入字体文件之前要加上如下语句:
registerbgifont(字体文件名);
4.通过上述处理后,编译连接后的执行程序就可以在任何目录下运行了。这时,将屏幕初始化为图形模式的函数可改写为:
void InitGra(void)
{int GD=DETECT,GM;
registerbgidriver(EGAVGA_driver);
registerbgifont(triplex_font);
registerbgifont(small_font);
registerbgifont(sansserif_font);
registerbgifont(gothic_font);
initgraph(&GD,&GM,"");
}
按照以上步骤,就能实现图形程序的独立运行
#14
zhangfjj(小张) :呵呵~~是我记错了~ link 1.obj+2.obj 是可用的,不过是在汇编环境下 既然都是.obj文件的话,如果字符表示一样的话应该也可以合并通过C而产生的.obj文件吧?
chon81(当我遇上你…) :我在去试试 谢谢了
chon81(当我遇上你…) :我在去试试 谢谢了