错误:“无法在动态链接库 libimage.dll 中定位过程入口点?JPEG_convert_to_rgb@@YAPAEHPAEPAH1@Z”
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。我可以做什么来解决这个问题?
附加信息:我不确定 尝试解决我的上一个问题,或者如果这种情况无论如何都会发生。
Windows XP, Visual Studio 2005, C/C++, automation for Unigraphics NX using Open C
I'm trying to code an external program for NXOpen (i.e. a program with the NX library that runs on Windows, as opposed to an internal program that runs within NX). Right now I'm just testing to make sure the link structure is good, etc.
When I try to run the .exe that was generated, it does nothing for a few moments and then I get the following error: "The procedure entry point ?JPEG_convert_to_rgb@@YAPAEHPAEPAH1@Z could not be located in the dynamic link library libimage.dll"
I have nothing to go on and Googling so far has been vastly unhelpful. The stuff on here seems to be file-specific for each case, and I'd never heard of this JPEG_convert_to_rgb before now. What can I do to fix this?
Additional info: I'm not sure if I broke something when trying to solve my last issue, or if this would have happened anyway.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来您正在用 C++ 编译 C 头文件,并遭受 C++ 编译器损坏您的名称的痛苦。 DLL 应导出未损坏的名称。尝试将头文件的包含内容包装在
extern "C"
块中。It looks like you are compiling a C header file in C++ and suffering from the C++ compiler mangling your names. The DLL should export non-mangled names. Try wrapping the include of the header file in an
extern "C"
block.嗯,我给 GTAC 打了电话。事实证明,这个问题是 NX 库特有的,我什至不完全确定发生了什么。
基本上,我需要设置一些环境变量:TC_DATA 和 TC_ROOT,尽管对于某些人来说它是 IMAN_DATA 和 IMAN_ROOT。如果您通过 Teamcenter 打开 NX,转到“帮助”->“NX 日志文件”,然后按 ctrl-F 搜索这些术语,就可以找到这些术语。在那里你应该找到变量应该设置的内容,然后将它们设置为那样。您还应该确保 UGII_BASE_DIR 设置正确,并且 UGII_ROOT_DIR 位于 PATH 变量的开头。另外:调用 %tc_data%\tc_profilevars 设置其他 TC 变量;调用 %iman_data%\iman_profilevars 设置其他 IMAN 变量。还有一些我不记得的事情 - 这个答案并不完整,它只是我能做到的完整的。
如果这对您来说没有意义,并且您正在使用 NX Open,那么您可能应该致电 GTAC;如果您可以使用内部应用程序而不是外部应用程序,那么这样做可能会更好。
Well, I called up GTAC. The issue turned out to be quite specific to the NX library and I'm not even fully certain what happened.
Basically, I had some environment variables that needed to be set: TC_DATA and TC_ROOT, though for some people it will be IMAN_DATA and IMAN_ROOT. These can be found if you open up NX through Teamcenter, go to Help->NX Log File, and do a ctrl-F to search for these terms. There you should find what the variables should be set to, and then set them as that. You should also make sure the UGII_BASE_DIR is set properly, and that your UGII_ROOT_DIR is at the beginning of your PATH variable. Also: call %tc_data%\tc_profilevars to set the other TC variables; call %iman_data%\iman_profilevars to set the other IMAN variables. There's also something else that I can't remember - this answer is not complete, it's just as complete as I can make it.
If this makes no sense to you, and you're using NX Open, you should probably call GTAC; if you can use an internal application instead of an external, you might be better off doing so.