dboperate.obj : error LNK2019: 无法解析的外部符号
已经安装好
(1) instantclient-basic-windows.x64-11.2.0.3.0
(2) instantclient-sdk-windows.x64-11.2.0.3.0
(3) occivc10_11203_win64 毕业论文
在配置属性中也将路径加进去了,包含了oraocci11.lib
#pragma comment (lib, "oraocci11.lib")
遇到的提示错误
1>dboperate.obj : error LNK2019: 无法解析的外部符号 "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,void * (__cdecl*)(void *,unsigned int),void * (__cdecl*)(void *,void *,unsigned int),void (__cdecl*)(void *,void *))" (?createEnvironment@Environment@occi@oracle@@SAPAV123@W4Mode@123@PAXP6APAX1I@ZP6APAX11I@ZP6AX11@Z@Z),该符号在函数 "public: int __thiscall IntoDB::Initial(void)" (?Initial@IntoDB@@QAEHXZ) 中被引用
1>dboperate.obj : error LNK2019: 无法解析的外部符号 "public: static void __cdecl oracle::occi::Environment::terminateEnvironment(class oracle::occi::Environment *)" (?terminateEnvironment@Environment@occi@oracle@@SAXPAV123@@Z),该符号在函数 "public: virtual __thiscall IntoDB::~IntoDB(void)" (??1IntoDB@@UAE@XZ) 中被引用
1>D:\Projects\FileOperate\Debug\FileOperate.exe : fatal error LNK1120: 2 个无法解析的外部命令
我不能确保你在属性里的lib路径全部都生效.
为了调试的目的,你把occi lib以及oci lib的#pragma语句,弄成全路径试试。
再者如果不行,你要查检一下你下的instantclient中的lib文件是基于vs2003, vs2005, 还是vs2008编译出来的,版本也必须匹配。
作为我个人来讲,我从不使用instantclient来创建应用。直接自己制取一个oracle client,也没多大。
检查版本了吗? 比如用这个:
#define WIN32COMMON
#pragma comment(lib,"D:\\Oracle\\11.2.0\\OCI\\lib\\MSVC\\oci.lib")
//#pragma comment(lib, "msvcrt.lib")
//#pragma comment(lib, "msvcprt.lib")
#pragma comment(lib,"D:\\Oracle\\11.2.0\\OCI\\lib\\MSVC\\vc8\\oraocci11.lib")