0

我正在使用 C++Builder 10.3 Rio Update 1。我在将一些类型库文件迁移到 clang C++17 32 位编译器时遇到问题。我有一个使用类型库的经典编译器 (C++98) 创建的应用程序。几年前我导入了类型库并创建了三个文件_OCX.dcr, _TLB.cpp, _TLB.h.

当我尝试在 clang C++17 编译器中编译这个应用程序时,我得到了错误:

[bcc32c 错误] ddfpbridge_TLB.h(304):枚举器值计算为 2147549182,不能缩小到类型“int”。

下面括号内的四行中的每一行都给出了同样的错误。您能否建议更改代码以使其编译?

// ***************************************************//
// Declaration of Enumerations defined in Type Library                    
// ***************************************************//

enum class HRESULTS
{
 HRESULTS_E_SERVERISNULLOREMPTY = 0x8000FFFE, 
 HRESULTS_E_USERNAMEISNULLOREMPTY = 0x8000FFFD, 
 HRESULTS_E_PASSWORDISNULLOREMPTY = 0x8000FFFC, 
 HRESULTS_E_SYMBOLISNULLOREMPTY = 0x8000FFFB 
};

我试图重新导入类型库并在当前版本的 C++Builder 中重新创建这些文件,但导入向导给出了错误消息:

访问 OLE 注册表时出错

4

0 回答 0