libocci.so: undefined reference to

3

我正在尝试使用occi连接Oracle,但没有成功。

  • 操作系统 = Ubuntu 14.04 LTS
  • g++编译器 = g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2
  • Oracle客户端版本 = 11.2.0.3

我下载并提取了以下文件:

  • instantclient-basic-linux.x64-11.2.0.3.0.zip
  • instantclient-sdk-linux.x64-11.2.0.3.0.zip
  • instantclient-sqlplus-linux.x64-11.2.0.3.0.zip

sqlplus可以成功连接到数据库。

我尝试使用以下命令编译我的代码:

g++ -o target/benefits_select benefits_select.cpp -L/data/etc/oracle/instantclient_11_2 -I/data/etc/oracle/instantclient_11_2/sdk/include -locci

我得到了以下结果:
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISubscriptionDisable'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `ldxend'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPConvertRowidToUb1'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetDefTZ'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITypeByRef'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeGetTimeZoneName'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxgucs2utf'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxsgn'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetErrorMessage'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPFree'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetInternalRowid'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobAppend'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIThreadMutexDestroy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxln'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectPinCountReset'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateLastDay'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataAccess'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobSetContentType'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIEnvNlsCreate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPHeapAllocUc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectMarkDeleteByRef'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPConvertUb1ToRowid'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxhname2id'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataIsNull'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectPinTable'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxuCvtToCtx'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAttrSet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIThreadMutexAcquire'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `ldxeti'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxmod'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxsub'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxhLaToId'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxbex'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPClearMxCtr'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxnur'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIArrayDescriptorFree'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxgutf2ucs'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPIsStmtSelectForUpdate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISessionPoolDestroy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobFileExists'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxshift'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxpfl'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITypeTypeCode'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIRefIsEqual'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobCopy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIConnectionPoolCreate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobFileGetName'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCINlsCharSetIdToName'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterCopy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataAttrSet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxsum'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `xaoEnv'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxsni'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiParseForOutput'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxhlod'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterFromString'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobFreeTemporary'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxinc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIRefAssign'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectMarkUpdate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCINumberFromInt'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobCharSetId'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectNew'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDefineObject'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIArrayDescriptorAlloc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIEnvCreate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxdec'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDescriptorAlloc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectUnpin'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCICacheFree'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxlog'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectGetObjectRef'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPIsObjectLoaded'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeCompare'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxmin'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectFree'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobWrite'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeConstruct'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITypeSchema'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobGetChunkSize'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxsqr'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPReleaseMutex'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataConvert'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStmtGetPieceInfo'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterToStringU'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterToString'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIConnectionPoolDestroy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterConstruct'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateNextDay'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectFlush'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeConvert'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetErrorMessageNLS'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIParamSet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobGetOptions'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPAnyDataSetInd'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobGetDeduplicateRegions'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiDateCopy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobTrim'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `xaoSvcCtx'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataGetCurrAttrNum'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetNLSLang'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxneg'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPDefConvOCCI'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeGetDate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobLocatorIsInit'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectIsLocked'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISubscriptionUnRegister'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectArrayPin'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISessionRelease'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobIsTemporary'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeSubtract'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISubscriptionPost'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIHandleAlloc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxatn2'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterInterAdd'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStringPtr'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPHeapAlloc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxrou'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectPin'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIRefClear'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobArrayRead'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISubscriptionEnable'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataCollAddElem'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStmtFetch'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterMultiply'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeToText'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStmtPrepare'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIErrorGet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISubscriptionRegister'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectLock'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIThreadMutexInit'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxinitc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobClose'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobIsEqual'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiDateToString'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPSetObjectPtrNull'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetLdiInternalFormat'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAQListen'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxflo'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectLockNoWait'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIParamGet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPAnyDataSetNull'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeGetTime'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiDateToStringU'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetRidCharLen'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataEndCreate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateAddDays'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetLdiDateTimeFromKpd'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxfcnu'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataDestroy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxqtri'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataBeginCreate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPConvertDateToDateTime'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPIsNonFinalType'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobLocatorAssign'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStringAssignText'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxsulen'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxqtra'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `ldxite'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterCompare'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIContextSetValue'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterInterSubtract'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPAcquireMutex'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPAnyDataAttrCountSet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITransCommit'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIIntervalToText'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIContextGetValue'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIRawAssignBytes'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIMultiByteStrCaseConversion'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITransRollback'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxhcnv'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDescribeAny'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectSetData'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAttrGet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPCompPrefRows'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCINumberToReal'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobLoadFromFile'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateFromText'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetTZI'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobSetOptions'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPAlloc'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIRefIsNull'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIBindByPos'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataAttrGet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCINumberFromReal'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCINlsCharSetNameToId'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStmtPrepare2'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPAnyDataSetUCIOptMode'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobIsOpen'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAQDeq'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterDivide'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCINumberToInt'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateAssign'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIBreak'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIRawPtr'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateTimeFromText'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxabs'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAQEnq'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIThreadProcessInit'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lfpinit'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiParseForOutputU'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDescriptorFree'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxfpr'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStmtExecute'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateSysDate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStmtRelease'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPIsDescRebuilt'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIBindObject'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectUnmark'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPAnyDataSetFlag'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataCollGetElem'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISessionPoolCreate'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIHandleFree'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITypeArrayByName'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPHeapFree'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxpflu'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxfcn'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDefineByPos'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiDateInterSubtract'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterCheck'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobGetContentType'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIRawSize'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxtru'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCISessionGet'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxnftu'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiDateInterAdd'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateAddMonths'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPasswordChange'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIClientVersion'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxcmp'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectMarkDelete'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobRead'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobOpen'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lxlinit'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateToText'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetDateContext'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateCompare'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `ldxdtd'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCICacheFlush'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobFileSetName'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobArrayWrite'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxren'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITypeByName'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxcopy'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetEnv'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIObjectUnmarkByRef'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetLdiIntervalFromKpd'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `xaosterr'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxnft'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCILobGetLength'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxpow'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIThreadMutexRelease'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIStmtSetPieceInfo'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIAnyDataGetType'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIPGetObjectPtr'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `LdiInterFromStringU'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxmul'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIDateZoneToZone'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `lnxdiv'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCIServerVersion'
/data/etc/oracle/instantclient_11_2/libocci.so: undefined reference to `OCITypeName'

如果我不加上结尾的-locci运行它,我会得到:
undefined reference to `typeinfo for oracle::occi::SQLException`

Hope someone can help


你尝试过添加-lnnz11吗? - user2672165
相同的结果 - javapenguin
你可以尝试将LD_LIBRARY_PATH设置为/data/etc/oracle/instantclient_11_2。 - user2672165
4个回答

5
我继承了一个项目,最近遇到了同样的问题。以上回复都没有帮助我解决它。这是我的步骤:
g++ (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4
使用原始设置无法链接项目(注意链接顺序,这很重要)“-L$ORACLE_HOME/lib -lclntsh -locci”,错误信息如下:
/usr/lib/oracle/12.1/client64/lib/libocci.so: undefined reference to `OCILobGetLength' /usr/lib/oracle/12.1/client64/lib/libocci.so: undefined reference to `OCILobArrayWrite' /usr/lib/oracle/12.1/client64/lib/libocci.so: undefined reference to `OCIPAnyDataSetInd' ......
使用以下命令查看libocci.so中是否包含OCILobGetLength符号: $ nm -C libocci.so | grep OCILobGetLength
U意味着该符号在libocci.so中被使用,但并未在其中定义。
这里是其定义所在的位置。
我只需简单地更改链接顺序即可正常链接:“-L$ORACLE_HOME/lib -locci -lclntsh”。
上述问题可能是由于这个https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition引起的。

3
这个问题我之前也遇到过,但我已经解决了。 libocci.so 是 Oracle 的一个库,所以你需要将其目录添加到 -I 选项中,这很正确。但是 libocci.so 需要依赖于 libzzn11.so 和 libclntsh.so,所以你应该将这两个库直接添加到 libocci.so 中。 例如:-locci -lzzn11 -lclntsh

0
将 -locci -lclntsh 放在末尾,并在 g++4.8 上加上 -m64,适用于 64 位 Ubuntu 14.04 LTS。g++4.4 不关心你把 -locci -lclntsh 放在哪里。

这是正确的答案。OCCI 依赖于 OCI (libclntsh)。缺失的符号已经存在。 - ibre5041

-1

看起来英文版的Ubuntu 14.04 LTS在我的测试中不需要-lzzn11,但是你需要安装apt-get install libaio1,因为64位的Oracle Instant Client 11.1.0.7.0依赖于异步IO库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接