数据库数据库未找到(VS2008)

atlbase.h not found (VS2008)

本文关键字:数据库 VS2008      更新时间:2023-10-16

基本上,我正在尝试在VS2008 EE上编译CEF。

IDE抱怨找不到atlbase.h。在一些研究中,我发现了这个参考。考虑到这不是我第一次给c++另一个机会,我并不惊讶我已经安装了WinSDK。但是,当然,IDE不知道这一点,SDK注册工具似乎不起作用(即使它说它起作用)。

因此,我进入项目选项并将路径强制添加到WinSDK源文件夹中。这帮助我摆脱了"atlbase.h not found"错误。相反,我开始出现多个错误;事实上,其中一些是相当隐晦的抱怨,比如_Module没有定义。

错误如下:

Compiling...
uiplugin_test.cpp
uiplugin.cpp
string_util.cpp
scheme_test.cpp
resource_util_win.cpp
plugin_test.cpp
SDKIncludeatlatlwin.h(65) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(79) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(155) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(155) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
SDKIncludeatlatlwin.h(168) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(168) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
SDKIncludeatlatlwin.h(1753) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1753) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1753) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1755) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1757) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(2979) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(2979) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
SDKIncludeatlatlwin.h(3058) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(3058) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
osrplugin_test.cpp
osrplugin.cpp
extension_test.cpp
download_handler.cpp
clientplugin.cpp
SDKIncludeatlatlwin.h(65) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(79) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(155) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(155) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
SDKIncludeatlatlwin.h(168) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(168) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
SDKIncludeatlatlwin.h(1753) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1753) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1753) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1755) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(1757) : error C2065: 'i' : undeclared identifier
SDKIncludeatlatlwin.h(2979) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(2979) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
SDKIncludeatlatlwin.h(3058) : error C2065: '_Module' : undeclared identifier
SDKIncludeatlatlwin.h(3058) : error C2228: left of '.GetModuleInstance' must have class/struct/union
        type is ''unknown-type''
client_popup_handler.cpp
client_handler_win.cpp
client_handler.cpp
cefclient_win.cpp
.cefclient_win.cpp(296) : error C3861: 'wcscpy_s': identifier not found
cefclient.cpp
SDKIncludecrtutility(21) : error C2536: 'std::pair<_T1,_T2>::std::pair<_T1,_T2>::first' : cannot specify explicit initializer for arrays
        with
        [
            _T1=const char [12],
            _T2=const char [16]
        ]
        SDKIncludecrtutility(24) : see declaration of 'std::pair<_T1,_T2>::first'
        with
        [
            _T1=const char [12],
            _T2=const char [16]
        ]
        SDKIncludecrtutility(20) : while compiling class template member function 'std::pair<_T1,_T2>::pair(_T1 (&),_T2 (&))'
        with
        [
            _T1=const char [12],
            _T2=const char [16]
        ]
        .cefclient.cpp(92) : see reference to class template instantiation 'std::pair<_T1,_T2>' being compiled
        with
        [
            _T1=const char [12],
            _T2=const char [16]
        ] SDKIncludecrtutility(21) : error C2536: 'std::pair<_T1,_T2>::std::pair<_T1,_T2>::second' : cannot specify explicit initializer for arrays
        with
        [
            _T1=const char [12],
            _T2=const char [16]
        ]
        SDKIncludecrtutility(25) : see declaration of 'std::pair<_T1,_T2>::second'
        with
        [
            _T1=const char [12],
            _T2=const char [16]
        ]
binding_test.cpp

您是否尝试过遵循Chromium的构建说明(Windows)?特别是下的附加(免费)下载处理Visual Studio 2008 Express的部分(这里的第4项)。

我找到了一个解决这个问题的方法。几分钟前我意识到他们也有一个Delphi的工作版本。

几分钟后,我得到了我的Delphi安装配置正确的路径,现在它很好地构建。