如何从FILE2.0修复未解决的外部?



我有一些HDF5 C代码,我试图移植到c++ Builder。我在构建时得到这个错误:

[ilink64 Error]错误:从D:DELPHITOOLSPASHDFCWIN64DEBUGFILE2引用的未解决的外部'H5check_version'。O

H5check_version作为宏包含在H5public.h中。

为什么c++ Builder找不到这个?

H5check_version作为宏包含在H5public.h中。

如果为真,就不会得到链接器错误,因为宏只在预处理器阶段处理。

在项目的某个地方,编译器看到H5check_version作为函数的声明,并且您的file2单元将其作为函数调用,但链接器找不到该函数的实现,因此出现错误。

您的项目需要包含对适当的.lib文件的引用,该文件要么实现实际的函数(静态链接),要么告诉链接器该函数是从哪个DLL导出的(动态链接)。

C/c++是区分大小写的,所以H5check_versionH5check_version是不一样的。

AFAIK pascal不区分大小写。

最新更新