windows 在动态链接库中找不到过程入口点jpeg12_read_raw_data

2nc8po8w  于 12个月前  发布在  Windows
关注(0)|答案(1)|浏览(145)

我正在构建一个使用libtiff的项目,最终似乎在运行时加载libtiff-6.dll。但是,它无法运行,并给出“Entry Point Not Found”错误消息:
The procedure entry point jpeg12_read_raw_data could not be located in the dynamic link library libtiff-6.dll
我假设这是某种版本不匹配,但不能弄清楚哪个版本是错误的,以及如何控制在运行时加载哪些特定的dll版本。对我来说奇怪的是,jpeg12_read_raw_data似乎不是libtiff的一部分,但我认为它是libjpeg的一部分。
当我用dumpbin libtiff-6.dll /imports命令检查libtiff-6.dll中的“导入”时,丢失的符号显示在那里:

libjpeg-8.dll
             276A2E6A0 Import Address Table
             276A2E178 Import Name Table
                     0 time date stamp
                     0 Index of first forwarder reference

                          7F jpeg12_read_raw_data

我已经安装了libjpeg-8.dll,并将其与libtiff-6.dll放在同一个文件夹中,因此libtiff可能会加载正确的dll。但是,它仍然给出了错误。
有什么建议吗?
编辑:如果我用Dependency步行者查看libtiff-6.dll,它会显示jpeg12_read_raw_data作为一个损坏的依赖项(红色)。请参见随附的屏幕截图。

nx7onnlm

nx7onnlm1#

这个问题通过链接libtiff-5.dll而不是libtiff-6.dll得到了部分解决。这是因为libtiff-5版本不使用那些缺失的12位jpeg函数,而libtiff-6需要它们。在这种情况下,我不需要支持12位图像文件。

相关问题