error LNK2019: unresolved external symbol "void __cdecl sqlcxt(void * *,unsigned int *,struct sqlexd

来源:互联网 发布:java byte 127 溢出 编辑:程序博客网 时间:2024/06/08 01:50

当用proc编译 .pc源文件,从而在c++程序中使用时,出现了错误:error LNK2019: unresolved external symbol "void __cdecl sqlcxt(void * *,unsigned int *,struct sqlexd *,struct sqlcxp const *)" (?sqlcxt@@YAXPAPAXPAIPAUsqlexd@@PBUsqlcxp@@@Z) referenced in function "int __cdecl oracle_test(void)" (?oracle_test@@YAHXZ)


以前,也用proc进行过c++对oracle的操作,不过好久没用了,我就想再从头仔细看看呗。

所以预编译选项我都选择为默认的,即parse=full(include=...),这样proc编译生成的文件后缀名为 .c,当将  .c文件添加到工程中,就出现了如上错误。

我又查看了以前的 .pc源文件,两者基本相同,唯一不同的就是预编译选项,以前的 .pc源文件编译后生成的都是 .cpp文件,预编译选项为 code=cpp,parse=none(include

=...),  当我将预编译选项改为code=cpp,parse=none(include=...)后,程序编译通过。

暂时还不明白为什么预编译选项会有这样的影响,以后再研究 ^_^。(以前,自己是跳着看的,没想到自己无意识中就避开一个大坑,真是太囧(泰囧)啦^_^)