Menu

#16 Ecpilse ocilib issue

v1.0_(example)
open
nobody
None
1
2014-08-19
2013-07-11
Anonymous
No

Hi,

I am working on C project using ocilib in eclipse. Below are the make file and the code segment.

nmake makefile

!include <Win32.Mak>

CFG=utilities TC-8

ITKDIR=$(ES_DEV_HOME)/workspace-eclipse/itkenv

ITKDIR=D:/manoj/UA/worksppace/test5/itkenv
TC_ROOT=$(TC_ROOT)
TC_USER_DIR=$(TC_ROOT)\Local
TC_CUSTOM_LIB_NAME=trn.dll
TC_CUSTOM_BAK_LIB_NAME=trn.bakdll
TC_CUSTOM_LIBRARY=trn.lib
CUST_FUNC_LIB_NAME=trncustom_functions
USER_LIBS=D:/ocilib-3.12.1-windows/ocilib

Compile

Set all compile arguments.

DEFINES = -DNT40 -DPOMDLL -DCRTAPI1=_cdecl \ -DCRTAPI2=cdecl -D_WIN32 -DWIN32 -DWIN32_LEAN_AND_MEAN \ -DWNT -DBYPASS_FLEX -D_INTEL=1 -DIPLIB=none\ -DOCI_IMPORT_LINKAGE -DOCI_CHARSET_ANSI

MISCFLAGS=-c -nologo -EHsc -W1 -Ox -Oy- -Z7 -MD -wd4996

CFLAGS=$(DEFINES) $(MISCFLAGS)

Link

Set all link arguments.

DLLFLAGS = -debug -nologo -machine:IX86 -subsystem:console

SYSLIBS = wsock32.lib advapi32.lib msvcrt.lib oldnames.lib kernel32.lib winmm.lib

XMLLIBS = xerces270.lib

LINKCMD = $(DLLFLAGS) $(SYSLIBS) $(XMLLIBS) \ itk_main.obj \ libsyss.lib \ libpom.lib \ libtcsso.lib \ libae.lib \ libappr.lib \ libarchive.lib \ libbackup.lib \ libbom.lib \ libcfm.lib \ libconstants.lib \ libcxpom.lib \ libdmi.lib \ libecm.lib \ libeint.lib \ libepm.lib \ libfclasses.lib \ libform.lib \ libgms.lib \ libgrm.lib \ libtcinit.lib \ libtc.lib \ libtccore.lib \ libtctrushape.lib \ libinternal_exits.lib \ libitk.lib \ libvalidation.lib \ liblov.lib \ libme.lib \ libmgc.lib \ libobjio.lib \ libpie.lib \ libproperty.lib \ libps.lib \ libpublication.lib \ libqry.lib \ libclips.lib \ libclipsutil.lib \ librbf.lib \ libce.lib \ libres.lib \ libsa.lib \ libss.lib \ libstep.lib \ libsub_mgr.lib \ libtextsrv.lib \ libtie.lib \ libnxmgr_im.lib \ libaie.lib \ libics.lib \ libeintstub.lib \ libsml.lib \ libuser_exits.lib \ librdv.lib \ libcollabctx.lib \ libmechatronics.lib \ libtccoreext.lib \ libusagewc.lib \ libusage.lib \ libcontmgmt.lib \ libcontmgmtbase.lib \ libcontmgmtbasedispatch.lib \ libtc_utils.lib \ libschmgt.lib \ libschmgt_bridge.lib \ libdocmgt.lib \ libdocmgtapp.lib \ libvm.lib \ libadsfoundationdispatch.lib \ libcm.lib \ libcmdispatch.lib \ libconstants.lib \ libbase_utils.lib \ libfunctionality.lib \ libmfg.lib \ libmfgbvr.lib \ libtcserverutil.lib \ libcondvalidation.lib\ ociliba.lib\

ALL : All_message COMPILE COPYOBJ DELOBJ LINK

All_message :
@echo BUILDING ITK Project directory $(ITKDIR)\utilities for TC-8.

START: Generated Code, do not modify!

COMPILE :
cl.exe $(CFLAGS) "$(ITKDIR)\utilities\AAM_Engg_Permit_Expiration.c"

COPYOBJ :
-@copy "$(ITKDIR)"\utilities\AAM_Engg_Permit_Expiration.obj "$(ITKDIR)"\utilities\lib

DELOBJ :
-@erase "$(ITKDIR)"\utilities\AAM_Engg_Permit_Expiration.obj

LINK :
link.exe $(LINKCMD) "$(ITKDIR)\utilities\lib\AAM_Engg_Permit_Expiration.obj" -out:"$(ITKDIR)\bin\AAM_Engg_Permit_Expiration.exe"

END: Generated Code


Code Segment:

static int dbConnection()
{
OCI_Connection cn;
if (!OCI_Initialize(NULL, NULL, OCI_ENV_DEFAULT))
return EXIT_FAILURE;
cn = OCI_ConnectionCreate("db", "usr", "pwd", OCI_SESSION_DEFAULT);
if (cn != NULL)
{
printf(OCI_GetVersionServer(cn));
printf("Server major version : %i\n", OCI_GetServerMajorVersion(cn));
printf("Server minor version : %i\n", OCI_GetServerMinorVersion(cn));
printf("Server revision version : %i\n", OCI_GetServerRevisionVersion(cn));
printf("Connection version : %i\n", OCI_GetVersionConnection(cn));
/
... application code here ... */
OCI_ConnectionFree(cn);
}
OCI_Cleanup();
return EXIT_SUCCESS;

}

I am getting the error below after compiling:

* Build of configuration Default for project itkenv *

C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\nmake.exe all

Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.

BUILDING ITK Project directory D:/manoj/UA/worksppace/test5/itkenv\utilities for TC-8.
cl.exe -DNT40 -DPOMDLL -DCRTAPI1=_cdecl -DCRTAPI2=cdecl -D_WIN32 -DWIN32 -DWIN32_LEAN_AND_MEAN -DWNT -DBYPASS_FLEX -D_INTEL=1 -DIPLIB=none -DOCI_IMPORT_LINKAGE -DOCI_CHARSET_ANSI -c -nologo -EHsc -W1 -Ox -Oy- -Z7 -MD -wd4996 "D:/manoj/UA/worksppace/test5/itkenv\utilities\AAM_Engg_Permit_Expiration.c"
AAM_Engg_Permit_Expiration.c
D:/manoj/UA/worksppace/test5/itkenv\utilities\AAM_Engg_Permit_Expiration.c(373) : warning C4047: 'function' : 'char ' differs in levels of indirection from 'char [21]'
D:/manoj/UA/worksppace/test5/itkenv\utilities\AAM_Engg_Permit_Expiration.c(373) : warning C4024: 'get_current_date_and_time' : different types for formal and actual parameter 1
D:/manoj/UA/worksppace/test5/itkenv\utilities\AAM_Engg_Permit_Expiration.c(376) : warning C4047: 'function' : 'char ' differs in levels of indirection from 'char [21]'
D:/manoj/UA/worksppace/test5/itkenv\utilities\AAM_Engg_Permit_Expiration.c(376) : warning C4024: 'split_string' : different types for formal and actual parameter 1
1 file(s) copied.
link.exe -debug -nologo -machine:IX86 -subsystem:console wsock32.lib advapi32.lib msvcrt.lib oldnames.lib kernel32.lib winmm.lib xerces270.lib itk_main.obj libsyss.lib libpom.lib libtcsso.lib libae.lib libappr.lib libarchive.lib libbackup.lib libbom.lib libcfm.lib libconstants.lib libcxpom.lib libdmi.lib libecm.lib libeint.lib libepm.lib libfclasses.lib libform.lib libgms.lib libgrm.lib libtcinit.lib libtc.lib libtccore.lib libtctrushape.lib libinternal_exits.lib libitk.lib libvalidation.lib liblov.lib libme.lib libmgc.lib libobjio.lib libpie.lib libproperty.lib libps.lib libpublication.lib libqry.lib libclips.lib libclipsutil.lib librbf.lib libce.lib libres.lib libsa.lib libss.lib libstep.lib libsub_mgr.lib libtextsrv.lib libtie.lib libnxmgr_im.lib libaie.lib libics.lib libeintstub.lib libsml.lib libuser_exits.lib librdv.lib libcollabctx.lib libmechatronics.lib libtccoreext.lib libusagewc.lib libusage.lib libcontmgmt.lib libcontmgmtbase.lib libcontmgmtbasedispatch.lib libtc_utils.lib libschmgt.lib libschmgt_bridge.lib libdocmgt.lib libdocmgtapp.lib libvm.lib libadsfoundationdispatch.lib libcm.lib libcmdispatch.lib libconstants.lib libbase_utils.lib libfunctionality.lib libmfg.lib libmfgbvr.lib libtcserverutil.lib libcondvalidation.lib ociliba.lib "D:/manoj/UA/worksppace/test5/itkenv\utilities\lib\AAM_Engg_Permit_Expiration.obj" -out:"D:/manoj/UA/worksppace/test5/itkenv\bin\AAM_Engg_Permit_Expiration.exe"
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_Cleanup@0 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_ConnectionFree@4 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_GetVersionConnection@4 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_GetServerRevisionVersion@4 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_GetServerMinorVersion@4 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_GetServerMajorVersion@4 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_GetVersionServer@4 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_ConnectionCreate@16 referenced in function _dbConnection
AAM_Engg_Permit_Expiration.obj : error LNK2019: unresolved external symbol _OCI_Initialize@12 referenced in function _dbConnection
D:/manoj/UA/worksppace/test5/itkenv\bin\AAM_Engg_Permit_Expiration.exe : fatal error LNK1120: 9 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\link.exe"' : return code '0x460'
Stop.

Can you please help me to resolve this issue?

Many thanks,
Swapnil Naik

Discussion

  • Vincent Rogier

    Vincent Rogier - 2013-07-11

    Hi,

    On MS platforms, you need to define OCI_API=__stdcall

    Regards,

    Vincent

     
  • Anonymous

    Anonymous - 2013-07-23

    Hello Rogier,

    Please, let me know where to define OCI_API. I tried everything. I am still getting the same error.

    Thanks,
    Swapnil

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.