-lclsntsh не найден в C ++ соединение с программой Oracle - PullRequest
0 голосов
/ 17 января 2019

у меня Centos 6.4 в качестве сервера и centos7.5 в качестве клиента в виртуальной машине. Я пытаюсь подключиться Oracle 11gr2 с C ++ с использованием кодовых блоков. следующий код

 #include <iostream>
  #include <oracle/11.2/client64/occi.h>
   #include <iomanip>
   using namespace oracle::occi;
   using namespace std;
   int main()
   {
       const string user="rahul", passwd = "rahul", connstring = "orcl";
       Environment *env =  Environment::createEnvironment();
       Connection *conn = env->createConnection(user, passwd, connstring);
       string strstmt = "select *from emp";
       Statement *stmt = conn->createStatement(strstmt);
       ResultSet *rs = stmt->executeQuery();
       while(rs->next())
       {
           cout <<  setw(4) << rs->getInt(1)  <<"  "<< setw(6) << rs->getString(2) << "  "
                 << setw(7) << rs->getString(3)<<"  "<<setw(4)<< rs->getInt(4) << setw(9)<<"     "
                < rs->getString(5)<< "  "<< setw(4) << rs->getInt(6) << "  " << setw(4)<< rs->
    tInt(7)<<"  "
                << setw(5) << rs->getInt(8)<<endl;
       }
       stmt->closeResultSet(rs);
       conn->terminateStatement(stmt);
       env->terminateConnection(conn);
       Environment::terminateEnvironment(env);
       return 0;
   }

- показывает следующие ошибки: -

    -------------- Build: Debug in oraconn (compiler: GNU GCC   
    Compiler)---------------

    g++ -L/opt/oracle/instantclient_11_2 -L/opt/oracle
    /instantclient_11_2 -o bin/Debug/oraconn obj/Debug/main.o   
    -lnnz11   -locci -lclntsh
    /usr/bin/ld: cannot find -lclntsh
    collect2: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 0 second(s))
    2 error(s), 0 warning(s) (0 minute(s), 0 second(s))

я добавил эти библиотеки в проект-> параметры сборки -> настройки компоновщика. и в каталогах поиска я добавил следующее

    usr/include/oracle/11.2/client64
    opt/oracle/instantclient_11_2/sdk/include

также я добавил LD_LIBRARY_PATH переменные env как:

LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:/usr/local/lib:/usr/lib:/usr/local/lib6
:/usr/lib64:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
PATH=$PATH:/opt/oracle/instantclient_11_2; export PATH
TNS_ADMIN=/opt/oracle/instantclient_11_2/network/admin; export TNS_ADMIN
CLASSPATH=/opt/oracle/instantclient_11_2:/usr/lib/oracle/11.2/client64/lib:
$CLASSPATH; export CLASSPATH
ORACLE_HOME=/opt/oracle/instantclient_11_2; export ORACLE_HOME
INCLUDEPATH=/opt/oracle/instantclient_11_2/sdk/inclcue:$INCLUDEPATH; export 
INCLUDEPATH
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...