gpt4 book ai didi

visual-studio-2010 - 如何在 32 位 XP Sp3 上使用 VS 2010 Ultimate 解决构建错误

转载 作者:行者123 更新时间:2023-12-01 07:46:27 26 4
gpt4 key购买 nike

在我的桌面工作站 - Dell Precision T3500(Windows 7 64 位操作系统)和我的 IBM ThinkPad R51(Windows XP Sp3 32 位)上安装了 VS2010 Ultimate。

我在 StinkPad 上构建解决方案时遇到问题,并且无法弄清楚原因。如下所示,编译器构建的 ADO 库的构建输出列出了以下错误:

c:\wpds\debug\msjro.tlh(196): error C2146: 语法错误:缺少 ';'在标识符“ConflictTables”之前c:\wpds\debug\msjro.tlh(196):错误 C4430:缺少类型说明符 - 假设为 int。注意:C++ 不支持 default-intc:\wpds\debug\msjro.tlh(196):错误 C4430:缺少类型说明符 - 假设为 int。注意:C++ 不支持 default-intc:\wpds\debug\msjro.tlh(224): error C2146: 语法错误:缺少 ';'在标识符“GetConflictTables”之前c:\wpds\debug\msjro.tlh(224): error C4430: 缺少类型说明符 - 假定为 int。注意:C++不支持default-int

我已检查以确保所有项目和解决方案的所有包含、exe 和库路径都是正确的。任何见解将不胜感激。谢谢账单

最佳答案

我第一次用新版本的msado15.dll编译时遇到了同样的问题。 msado15.dll 和 msjro.dll 之间存在依赖关系,msjro.tlb 顶部的这些行证明了这一点:

// Cross-referenced type libraries:
//
// #import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll"
//

就我而言,出现问题是因为我在 Windows 7 上构建我的应用程序,并且 SP1 update includes a breaking change in msado15.dll这将导致应用程序在 Windows XP 上失败。当我使用 this 解决这个问题时KB,我的 msado dll 问题已修复,但我的 msjro.tlb 停止编译。可能有一种方法可以更新 msjro 以引用所需/正确的 msado(在我的例子中,安装在 KB 中的 msado60_Backcompat.tlb),但如果您使用的是 CADODatabase classes在 ado2.cpp 和 ado2.h 中定义,如果您不使用特定于 jet 的功能,则更简单的解决方法是注释掉 ado2.h 和 ado2.cpp 中引用 jet 的部分。
我刚刚在 ado2.h 中注释掉了这一行:

//#import <MSJRO.DLL> no_namespace rename("ReplicaTypeEnum", "_ReplicaTypeEnum") 

并且 #ifdef 也排除了 ado2.cpp 中 CJetEngine 方法的所有实现,这对我很有用。

祝你好运!

关于visual-studio-2010 - 如何在 32 位 XP Sp3 上使用 VS 2010 Ultimate 解决构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3814378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com