1

操作系统: Windows XP

集成开发环境: Visual Studio 2005

语言: C/C++

编码: Unigraphics NX(这是一种 CAD 软件),特别是 Open C 中的外部自动化(但这可能并不重要)

我正在尝试为 NXOpen 编写一个外部程序——对于那些不熟悉它的人来说,这意味着它在 Windows 上运行,而不是在 NX(这将是一个内部程序)中运行。我决定注释掉所有有趣的东西,然后使用一些 printf 语句对其进行测试,以确保所有内容都正确链接。

显然,这是一件好事,因为当我尝试运行生成的 .exe 时,我收到错误“此应用程序无法启动,因为找不到 libufun.dll。重新安装应用程序可能会解决此问题。 " libufun.dll 属于 UG 库。

从我目前阅读的内容来看,该文件可能已损坏。但是,它也可能只是有一些奇怪的链接问题(所有这些奇怪的库是什么),我想在尝试查找文件的新副本之前查找此类问题。我已经检查了 Linker->General->Additional Library Dependencies 路径是否正确,并且相关的系统变量没有改变。一切都很好,那里。

还有什么我应该检查或做的事情来完成这项工作吗?

谢谢!

4

2 回答 2

1

有一个环境变量UGII_ROOT_DIR。找到这个变量并将其添加到PATH变量中以使项目正常工作。

PATH=%PATH%;%UGII_ROOT_DIR%;

驱动 Unigraphics NX 的主要环境变量是UGII_BASE_DIRUGII_ROOT_DIR. UGII_BASE_DIR是安装 NX 的文件夹。UGII_ROOT_DIR是所有可执行文件所在的文件夹。安装 NX 时会创建这两个环境变量。

于 2013-05-19T03:45:27.400 回答
-1

1)找到libufun.dll,把它和你的.exe放在同一个文件夹
2)我的电脑-属性-高级-环境变量,编辑PATH变量,将包含libufun.dll的目录添加到PATH
3)使用包含libufun.dll的目录设置PATH在 IDE 内
如果您动态链接(如您所做的那样),则每次运行此应用程序时,此 dll 都应位于 PATH 或附近(在同一文件夹中)您的 exe。
如果你不喜欢这样,你应该用适当的.lib 文件静态链接,这样你就不需要 dll。

于 2011-08-11T12:35:29.297 回答