可能重复:
如何从 C 调用用 C++ 编写的库?
我正在修改pHash,我想调用该函数以从文件位置生成感知散列。当我尝试调用名为 ph_dct_imagehash 的函数时,编译器会抛出此错误:
/usr/include/CImg.h:72:18: fatal error: cstdio: No such file or directory
compilation terminated.
此时我意识到 pHash 是用 C++ 编写的,因此在 C 程序中包含 C++ 标头是行不通的。尽管如此,函数本身似乎应该可以从 C 调用,因为它的参数和返回值都没有使用 C++ 构造。有什么好方法可以从 C 调用 C++ 函数 ph_dct_imagehash?
注意:我这样做主要是为了更好地使用 C(不是 C++)。这就是我将自己限制在 C 的原因。