Possible Duplicate:
How to call a lib written in C++ from C?如何從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.
除非您嘗試編譯的代碼使用C++保留字,例如new,class,typename等。如果你有幾千行代碼,你只想把一小部分代碼掛鉤到一些C++中,那很可能是一個問題。 –
+1 @MatsPetersson。我的私人寵物是「malloc」周圍的所有鑄件。 「修復」所有這些可能是一件苦差事。 –