66问答网
所有问题
如何把自己写的exe/dll给别人调用
如题所述
举报该问题
推荐答案 2017-05-22
前几天,老板让我整理一个程序,比较复杂,需要的环境有vs2010、opencv、boost、Eigen等工具。捣鼓了几天,程序终于搞定,编译成dll,而且在自己机器上用Java调用也没问题了。但是,当我把这个dll拷到其他机器上时,发现调用不了了。很显然,这是其他机器没有我机器上这些运行环境导致的。那怎样才能让没有安装任何环境的机器可以调用我的dll库呢?
以我自己出现的问题为例,我是在另外一台机器上用MyEclipse调用之前在自己机器上写好的vision.dll的,出现了“Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Windows\System32\vision.dll: Can't find dependent libraries.”这个异常。
字面意思是找不到依赖的库。于是我用了vs2010自带的dumpbin工具查到了vision.dll依赖的几个动态链接库,此步操作如下图:
如何把自己写的exe/dll给别人调用
接下来,我就直接把找到的这些依赖库拷到了java工程下,发现还是出现一样的问题。后来再把这些依赖库拷到System32中也没能解决上述出现的异常。后来,实验室一同学跟我说要手动加入这些依赖库的路径。我试着做了一下,果然就可以了!因为Java虚拟机不会主动去搜索系统中的path,所以即使把动态链接库加到System32文件夹中也不济于事。此步具体操作如下:
如何把自己写的exe/dll给别人调用
上面说了这个是由于Java虚拟机不去主动找系统path才会出现的问题,如果是用c++调用的话则简单多了。自己写好exe或者dll后,用vs2010自带的dumpbin工具找到依赖库,然后一起发给别人,让他把这些库加入到系统path中就可以调用了。这里还有个小建议,在生成exe和dll时最好把debug模式改成release模式,否则可能要承受几倍甚至几十倍的时间消耗。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/DnvxUvDxU2vvs9sUxn.html
其他回答
第1个回答 2017-05-22
加个时钟判断,代码如下:
.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
时钟1.时钟周期 = 1
.子程序 _时钟1_周期事件
' 类名在窗口-属性-最下面写的
.如果真 (取句柄 (, “这里写你事先写好的类名”, ) = -1)
信息框 (“不可以使用”, 0, )
结束()
.如果真结束
本回答被网友采纳
相似回答
.
dll
文件
如何调用
?VB
答:
1.在
DLL
中
编写的
函数或过程都必须加上stdcall
调用
参数。在Delphi 1或Delphi 2环境下该调用参数是far。从Delphi 3以后
将
这个参数变为了stdcall,目的是为了使用标准的Win32参数传递技术来代替优化的register参数。忘记使用stdcall参数是常见的错误,这个错误不会影响DLL的编译和生成,但当调用这个DLL时会发生很严重的错误,导...
C程序
如何调用dll
文件
答:
创建
dll
工程,工程名定为dll,新建并添加头文件dllDemo.h //dlldemo.h ifdef __cplusplus define EXPORT extern "C" __declspec(dllexport)else define EXPORT __declspec(dllexport)endif EXPORT int add(int a,int b) ;EXPORT int sub(int a,int b);新建并添加源文件dllDemo.c //dlldemo....
C#的Dllimport能不能
调用
指定路径的
dll
文件?
答:
1、
exe
所在目录;2、System32目录;3、环境变量目录。二、可以直接在项目的引用里添加
DLL
文件。
用WinRAR做自解压exe文件
的方法
答:
把需要隐藏的文件用 WinRAR 打包压缩为 rar 文件,然后准备一张 gif 格式的图片。接下来下载一款名为 UltraEdit 的 16 进制文件编辑器。 UltraEdit 是一款文字、 Hex 、 ASCII 码编辑软件,可以以 16 进制方式对
EXE
和
DLL
文件进行编辑。 我们的目的是将 rar 文件隐藏在 gif 文件中。当
别人
点击这个 gif 文件...
...in (%windir%\system32\*.
dll
) do regsvr32.
exe
/s %1 该内存不能...
答:
1、开始 - 运行输入CMD,点击确定或者按下键盘上的回车(Enter)键,打开管理员命令提示符窗口;2、复制:for %1 in (%windir%\system32\*.
dll
) do regsvr32.
exe
/s %1 命令,在打开的管理员命令提示符窗口,点击左上角的小框,在下拉菜单中点击编辑 - 粘贴;3、我们点击:编辑 - 粘贴以后,...
C#
调用
C++的
dll
库
怎么
传递结构体中不定长度的char数组
答:
…
调用
处检查一下inkInfoBytes的长度
DLL
那边有源代码的话最好对着
dll
调试,在函数入口点下断点,看看传递进去的东西是什么样的,这样比较容易判断故障。调试方法就是打开dll的工程,C#
的exe
复制到debug文件夹里,在工程设置里面调试那边把启动程序设置成C#的那个exe,然后dll代码里下断点,然后开始调试 ...
大家正在搜
eexe文件是用什么软件写的
exe是用什么语言写的
exe文件是用什么语言写的
如何编写exe
自己写一个java打包成exe
exe文件是什么编写的
txt写exe
写exe程序
py可以写exe吗
相关问题
如何编写exe程序加载dll
怎么为VC写的EXE文件写一个DLL文件让这个EXE调用DL...
如何在dll中调用外部exe程序里的窗口
怎么调用一个EXE/DLL,并将其嵌入到自身窗体中
怎么让自己做易语言的DLL文件不被别人调用
如何在编译器里设置调用别人写好的lib和dll步骤
如何把EXE文件中的变量传递到DLL中调用
如何在编译器里设置调用别人写好的lib和dll步骤