Как отлаживать occi с помощью Clion?

Я использую Clion для создания приложения occi. Мой cmakelist.txt:

cmake_minimum_required(VERSION 2.8.4)
project(oracle_manager)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(oracle_manager ${SOURCE_FILES})
INCLUDE_DIRECTORIES(/opt/oracle/product/11.2.0/dbhome_1/rdbms/public)
LINK_DIRECTORIES(/opt/oracle/product/11.2.0/dbhome_1/lib)
SET(REQ_LIB /opt/oracle/product/11.2.0/dbhome_1/lib/libagtsh.so
 /opt/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so
   /opt/oracle/product/11.2.0/dbhome_1/lib/libocci.so
    /opt/oracle/product/11.2.0/dbhome_1/lib/libodm11.so
     /opt/oracle/product/11.2.0/dbhome_1/lib/liborasdk.so
      /opt/oracle/product/11.2.0/dbhome_1/lib/liborasdkbase.so
       /opt/oracle/product/11.2.0/dbhome_1/lib/libsqlplus.so)
TARGET_LINK_LIBRARIES(oracle_manager ${REQ_LIB})
SET(SOURCE_FILES main.cpp)

Моя программа:

int main()
{
    Environment* env = Environment::createEnvironment();
    Connection* con = env->createConnection("user", "password", "server");
    Statement* stmt = con->createStatement("select * from tab");
    ResultSet* rs = stmt->executeQuery();
    stmt->closeResultSet(rs);
    con->terminateStatement(stmt);
    env->terminateConnection(con);
    Environment::terminateEnvironment(env);
    cout << 1 << endl;
    return 0;
}

Моя операционная система — Ubuntu 12.04 lts, ​​а версия базы данных Oracle — 11g. Я компилирую файл main.cpp, используя эту команду: "g++ main.cpp -o main.o -locci -lclntsh", успешная сборка и успешное выполнение. Затем я использую Clion для отладки программы. Программа разбивается в этой строке программы Environment* env = Environment::createEnvironment();Is что-то не так в моем cmakelist.txt? Как это исправить?


person Karl Doenitz    schedule 25.12.2014    source источник


Ответы (1)


Да, я все исправил! Загрузите zip-пакет oracle Instant Client с веб-станции oracle: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html,затем извлеките пакет, переместите libociei.so в /opt/oracle/product/11.2.0/dbhome_1/lib/ и добавьте /opt/oracle/product/11.2.0/dbhome_1/lib/libociei.so в MakeList.txt. Соберите проект. и удачной отладки.

person Karl Doenitz    schedule 31.12.2014