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