其中错误提示如下:
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")
修改之后,再编译就没有问题了。