4

Windows XP、Visual Studio 2005、C/C++、使用 Open C 的 Unigraphics NX 自动化

我正在尝试为 NXOpen 编写一个外部程序(即在 Windows 上运行的带有 NX 库的程序,而不是在 NX 中运行的内部程序)。现在我只是在测试以确保链接结构是好的,等等。

当我尝试运行生成的 .exe 时,它​​有片刻没有执行任何操作,然后出现以下错误:“过程入口点 ?JPEG_convert_to_rgb@@YAPAEHPAEPAH1@Z 无法位于动态链接库 libimage 中。 dll"

我没有什么可做的,到目前为止,谷歌搜索一直没有帮助。这里的东西似乎是针对每种情况的文件特定的,我以前从未听说过这个 JPEG_convert_to_rgb。我能做些什么来解决这个问题?

附加信息:我不确定我在尝试解决上一个问题时是否破坏了某些东西,或者这是否会发生。

4

2 回答 2

2

看起来您正在用 C++ 编译 C 头文件,并且遭受 C++ 编译器修改您的名称的痛苦。DLL 应导出未损坏的名称。尝试将头文件的包含包装在一个extern "C"块中。

于 2011-08-11T15:09:52.483 回答
2

好吧,我打电话给GTAC。事实证明,这个问题是 NX 库特有的,我什至不能完全确定发生了什么。

基本上,我有一些需要设置的环境变量:TC_DATA 和 TC_ROOT,但对于某些人来说,它会是 IMAN_DATA 和 IMAN_ROOT。如果您通过 Teamcenter 打开 NX,则可以找到这些内容,转到 Help->NX Log File,然后按 ctrl-F 搜索这些术语。在那里你应该找到应该设置的变量,然后将它们设置为那个。您还应该确保 UGII_BASE_DIR 设置正确,并且您的 UGII_ROOT_DIR 位于 PATH 变量的开头。另外:调用 %tc_data%\tc_profilevars 设置其他 TC 变量;调用 %iman_data%\iman_profilevars 来设置其他 IMAN 变量。还有一些我不记得的东西 - 这个答案并不完整,它就像我能做到的一样完整。

如果这对您没有意义,并且您正在使用 NX Open,您可能应该致电 GTAC;如果您可以使用内部应用程序而不是外部应用程序,那么这样做可能会更好。

于 2011-08-12T12:27:53.837 回答