我正在尝试在我的 C ++ Builder XE6 项目中使用HTML解析器 - Gumbo (用C语言编写)。
编译时,我收到很多错误( E2140声明不允许等),这些错误似乎来自文件char_ref.rl
。
我已经尝试了很多以避免这些错误,但我没有成功。
有没有人在C ++ Builder项目中使用Gumbo,或者至少在C ++项目中使用过Gumbo?
谢谢
答案 0 :(得分:1)
注意:extern "C"
并不意味着“将此代码编译为C”。这意味着应该编译块中的 C ++ 代码,以便以与C ABI兼容的方式发布任何外部名称等。这样的块不应包含任何函数定义。您可能在代码中错误地使用了extern "C"
,但如果没有看到您的代码就很难说。
无论如何,bcc32.exe的C编译器部分似乎不允许混合语句和声明,即使你给出标志-An
,它应该是“使用C99关键字和扩展名”。
您必须进行64位构建或对此C源进行一大堆更改,以便与bcc32的恐龙兼容。或者你可以使用现代编译器将Gumbo构建为DLL(如果它支持该选项,IDK)。