C++ Ado 在编译的时候,报错。

其中错误提示如下:

fatal error C1083: Cannot open type library file: 'C:\Program Files\Common Files\System\ado\MSJRO.DLL': No such file or directory

1 :

首先确定在头文件ado2.h中对以下代码进行了处理:

#import "C:\Program Files\Common Files\System\ado\msado15.dll" rename("EOF", "EndOfFile")
#import "C:\Program Files\Common Files\System\ado\MSJRO.DLL" no_namespace rename("ReplicaTypeEnum", "_ReplicaTypeEnum")

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

能够编译通过的话,在调用ado所需要的dll的时候必须采用绝对路径,或者将两个dll放到工程所在的目录中。

 

2:

如果是使用的x64系统的话,要求修改dll所在的绝对路径,虽然在上述路径中也有相应的ado所需要的dll,但是此dll应该是64位的。

在编译32位的程序的时候,需要调用32位的dll。修改如下:

#import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" rename("EOF", "EndOfFile")
#import "C:\Program Files (x86)\Common Files\System\ado\MSJRO.DLL" no_namespace rename("ReplicaTypeEnum", "_ReplicaTypeEnum")

修改之后,再编译就没有问题了。

posted @ 2011-12-28 15:28  tommy&gina  阅读(3342)  评论(0编辑  收藏  举报