没有找到libufun.lib,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。

在尝试UG的external模式时,遇到这个问题

具体情况就是:

$(UGII_BASE_DIR)\ugopen

libufun.lib libugopenint.lib

都做了正确的设置

而且也完全编译成功,但是这个编译成功的exe

运行时却弹出警告窗口,提示:“没有找到libufun.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题”

这是为什么呢?

在外部模式下,程序之所以不能运行,是因为缺dll 支持。所以光加了libufun.lib libugopenint.lib没有用,WINDOWS中,lib只是对dll中的接口函数的声明,像目录一样

外部开发,应该只能在UGII下可以运行,要么就找到libufun.dll和libugopenint.dll所引用的每一个库,也就是说把整个UGII中的文件夹打个包到exe所在的debug目录下。

目前了解到的解决办法是:

1)直接将生成的exe文件拷贝到UGII目录下,双击运行,试过了,可以正常运行;

2)将整个UGII中的文件夹打个包到exe目录(没试过)

这里有很好的讨论结果

http://bbs.icax.org/viewthread.php?tid=145192&extra=&page=1

 ----------------------------------------------------------------------------------------

update:2011-3-28 17:02:22

其实是少设置了环境变量的缘故

我的电脑---右键属性---高级---环境变量---系统变量---Path

添加UGII的路径,比如:D:\Program Files\UGS\NX 6.0\UGII

设置之后,生成的exe便可成功运行,而不会再提示找不到libufun.dll

之前上面所述其实道理一样,只是没有从本质上解决问题,通过设置环境变量之后便可不用将生成的exe文件复制到UGII目录下了。

 ----------------------------------------------------------------------------------------

update:2012-3-12 16:29:39

设置完Path后需要重启电脑。

原文地址:https://www.cnblogs.com/hachi/p/1994356.html