我正在使用 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 注册表时出错