我用VC编写了两个程序:程序A是有关图像采集卡的,我在自己的机子上安装了该卡的驱动,在VC中把Tools-Options-Derectories对应的Include files以及Library files都设置为了驱动的安装目录:C:\PROGRAM FILES\MATROX IMAGING\MIL\INCLUDE;另外在Project Settings-Link-Object/library modules中我也将.lib文件添加好了。
该程序在我机子上运行一切正常,为了在别的机子上运行,我试着将程序所需的.dll .lib .h文件从驱动软件安装目录复制到.exe文件相同的文件夹,然后我换了台机器,上面没有装图象采集卡的驱动,也没有装VC,运行程序,提示找不到某一个.dll文件。这个.dll文件是跟图象采集卡相关的,我也拷贝出来了,看来这个方法无效的。程序B是关于波形发生卡的程序,操作与上面相同,我换了台机子运行,提示找不到cvirte.dll,貌似这个不是波形卡驱动带的DLL文件的,难道是VC的DLL文件?搞不懂。请问如何操作啊?让我的.exe文件在别的机子上(没装相应的采集卡驱动,以及VC)也可以运行。非常感谢!!!

解决方案 »

  1.   

    不需要lib和h文件,只要把所有需要的dll都带上就够了,既然在自己的电脑上可以运行,通常应该可以在自己电脑上把所需要的dll都找到。
      

  2.   

    我发现个问题,我将那个找不到的.dll文件放在与.exe文件同一目录下,而不是同一目录下的文件夹中,貌似程序就能找到它了,呵呵,我再接着试试看的。但是发现后来找不到cvirte.dll,于是我从自己机子上搜索到了,解决,再运行又找不到ntport.dll,我晕,没完没了了,这些都是哪方面的DLL文件啊?咋办呐?请指教,谢谢了
      

  3.   

    谢谢cnzdgs ,我先一个个试试看的,元宵快乐啊!
    另外是否有方法把这些需要的DLL文件与.exe文件绑定在一块啊?
      

  4.   

    当然要与exe文件放在一起,或者放在path环境变量所描述的任意路径下,其它位置只能用完成路径加载dll才能找到。
    可以用depends工具查一下程序都依赖那些dll。
      

  5.   

    我补足了所需的.dll文件,最后报错提示:Can not find RTE directory:\Windows\system32\cvirte,点击确定接着提示:Unable to open ***w.exe文件目录\bin\cvirte.rsc,(目录下就没有这个文件啊?)再点击确定出现提示:应用程序正常初始化(Oxc0000142)失败。完毕
    咋回事啊?
      

  6.   

    我把自己机子上的文件夹拷贝过来就可以了,谢谢!
    再请问一下,我如何将.exe文件及这些DLL文件、文件夹cvirte打包成一个安装文件呐?或者打包成一个整体.exe文件,直接双击运行即可,谢谢指教!
      

  7.   

    如果你用的是VS.NET,可以创建一个安装项目;或者用InstallShield等打包工具;也可以自己做一个安装程序,把所有文件作为资源添加到程序里面,安装时再释放出来。
      

  8.   

    你可以用installshield,wix等来制作安装包,最后就打包成一个exe文件...
      

  9.   

    谢谢cnzdgs ,谢谢oyljerry 。