hur.cn - 华软网

 热门搜索

pb9生成exe文件选项 问题

  作者:未知    来源:网络    更新时间:2018/4/16
我在使用pb9生成exe文件时,遇到了几个问题如下:

1、在pbl中的 Code Generation Option中有一项是Machine Code。如果我把这项钩上的话,编译就通不过,说是link error。日志如下:

CGEN: Compiling 'C:\DOCUME~1\DOGIN~1.YEL\LOCALS~1\Temp\article.c'
CGEN: Linking...
article.obj 傪僆乕僾儞弌棃傑偣傫 : No such file or directory

请问如果我要使exe文件脱离pb环境运行,这项需要选吗?如果需要,这个错误是什么意思,怎么解决?

2、还有一个是如果选择Machine Code,下面就有一个dll的复选框,否则就是pdb的复选框。请问pbd文件是否就是pb虚拟机上对应的dll文件?如果我不选择生成Machine Code,那怎样才能使exe文件脱离pb环境运行?
------华软网友回答------
Machine Code选项代表你的程序将被编译成为机器码,每一个pbl都将被编译成为一个dll 链接库

否则每一个pbl就将编译成为pdb文件,

不管哪一种格式,都不影响在客户机器上的使用。

有的可能只是运行效率上的差别。
------华软网友回复------
1、楼上说的是对的。Machine Code选项代表你的程序将被编译成为机器码,每一个pbl都将被编译成为一个dll 链接库,否则每一个pbl就将编译成为pdb文件,有文章指出:编译成pdb文件比编译成机器码dll文件,可移植性性能更强,但是运行效率不如dll执行效率高。一般选择的都是编译成dll的Machine Code选项。
你出现问题的可能是在调用某对象的路径的时候使用了中文路径,或者其他可能,找不到对象的路径了。
------华软网友回复------
2、无论你选择编译生成的是dll还是pbd文件,只是包装方式上的不同,当使用到客户端的时候,都需要PB运行环境的dll文件。
如:
PB8.0所需文件:
必需 PBVM80.DLL PowerBuilder 虚拟机
必需 LIBJCC.DLL PowerBuilder 库管理
可选 PBDWE80.DLL DataWindow 数据窗口引擎
可选 PBRTC80.DLL 超文本控件
可选 PBTRA80.DLL 数据库访问跟踪
可选 PBODB80.DLL PB的ODBC接口 
可选 PBIN780.DLL INFORMIX 接口
可选 PBMSS80.DLL Microsoft SQL Server接口
可选 PBSYC80.DLL Sybase SQL Server接口
可选 PBO7380.DLL/PBO8480.DLL/PBO9080.DLL Oracle Version接口
以上文件可以在C:\Program Files\Sybase\Shared\PowerBuilder取得。
------华软网友回复------
用PB9打包向导工具

PowerBuilder Runtime Packager 在里面打勾勾就行了 :)
------华软网友回复------
那选择生成machine code编译所产生的错误怎么解决呢?
------华软网友回复------
那就不要选machine code
------华软网友回复------
算了,反正我对它很失望,结贴了      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。