0

I have to make changes to a program using the legacy OCI library. To make myself familiar with the API I have tried to play with some sample code, however it fails to compile with the following linking errors:

1>main.obj : error LNK2019: unresolved external symbol "int __cdecl oclose(struct cda_def *)" (?oclose@@YAHPAUcda_def@@@Z) referenced in function "void __cdecl oci_error(void)" (?oci_error@@YAXXZ) 1>main.obj : error LNK2019: unresolved external symbol "int __cdecl oerhms(struct cda_def *,short,unsigned char *,int)" (?oerhms@@YAHPAUcda_def@@FPAEH@Z) referenced in function "void __cdecl oci_error(void)" (?oci_error@@YAXXZ) 1>main.obj : error LNK2019: unresolved external symbol "int __cdecl oexec(struct cda_def *)" (?oexec@@YAHPAUcda_def@@@Z) referenced in function _main 1>main.obj : error LNK2019: unresolved external symbol "int __cdecl olog(struct cda_def *,unsigned char *,unsigned char *,int,unsigned char *,int,unsigned char *,int,unsigned int)" (?olog@@YAHPAUcda_def@@PAE1H1H1HI@Z) referenced in function _main 1>main.obj : error LNK2019: unresolved external symbol "int __cdecl ologof(struct cda_def *)" (?ologof@@YAHPAUcda_def@@@Z) referenced in function "void __cdecl oci_error(void)" (?oci_error@@YAXXZ) 1>main.obj : error LNK2019: unresolved external symbol "int __cdecl oopen(struct cda_def *,struct cda_def *,unsigned char *,int,int,unsigned char *,int)" (?oopen@@YAHPAUcda_def@@0PAEHH1H@Z) referenced in function _main 1>main.obj : error LNK2019: unresolved external symbol "int __cdecl oparse(struct cda_def *,unsigned char *,int,int,unsigned int)" (?oparse@@YAHPAUcda_def@@PAEHHI@Z) referenced in function _main 1>main.obj : error LNK2019: unresolved external symbol "int __cdecl obndra(struct cda_def *,unsigned char *,int,unsigned char *,int,int,int,short *,unsigned short *,unsigned short *,unsigned int,unsigned int *,unsigned char *,int,int)" (?obndra@@YAHPAUcda_def@@PAEH1HHHPAFPAG3IPAI1HH@Z) referenced in function _main

I have added the path ...\oci\lib\msvc to my project as an additional library location.

Im using: Visual Studio 2015 Community edition. Oracle 10.2.

What could be the problem? All help appreciated

Imperator
  • 28
  • 4
  • you did not add the oci.lib or other core lib, or you add wrong version of it (like 64 bit when compiling 32 bit or vice versa) – SHR Feb 10 '16 at 23:08
  • 1
    Actually i did almost everything well. However the OCI library was written in C and to use that in C++ I had to add extern "C" { ... } around the OCI includes. – Imperator Feb 10 '16 at 23:19

0 Answers0