Ошибка неопределенной ссылки при добавлении внешней библиотеки (SQLAPI ++)

Я разрабатываю приложение на C ++ (название этого приложения СГБД Расоре) с IDE NetBeans 8.2 (для C / C +++) в Windows 10 и для этого мне нужен доступ к базе данных, разработанной с помощью Oracle 11g и управляемой SQL Developer. Чтобы облегчить свою работу, я хотел использовать SQLAPI +++ (http://www.sqlapi.com/). Я скачал эту библиотеку из http://www.sqlapi.com/Download/sqlapi_trial.exe и распаковал его (в папке с именем BD на рабочем столе).

В моем проекте NetBeans я сделал следующее:

Properties=>Build=>C++ Compiler=>Include Directories и я написал там ../../../Desktop/BD/SQLAPI/include (где находятся заголовки, т. е. ч)

Properties=>Build=>Linker=>Libraries и я должен добавить libsqlapi.a от SQLAPI/MinGW-5.1.0-tdm64/lib

Properties=>Build=>Linker=>Additional Library Directories и я написал там ../../../Desktop/BD/SQLAPI/MinGW-5.1.0-tdm64/lib

Там нет синтаксических ошибок и проблем, когда я пишу #include <SQLAPI.h>, но, когда я пытаюсь выполнить следующий пример кода, скопированного из http://www.sqlapi.com/Examples/step1.cpp:

#include <iostream>
#include <SQLAPI.h>

using namespace std;

int main() {
SAConnection con; // create connection object
cout << "Empieza el intento\n";
try
{
// connect to database
// in this example it is Oracle,
// but can also be Sybase, Informix, DB2
// SQLServer, InterBase, SQLBase and ODBC
con.Connect(
"pruebaRAUCM",     // database name
"carmor06",   // user name
"1234",   // password
SA_Oracle_Client);

cout << "We are connected!\n";

// Disconnect is optional
// autodisconnect will ocur in destructor if needed
con.Disconnect();

cout << "We are disconnected!\n";
}
catch (SAException &x)
{
// SAConnection::Rollback()
// can also throw an exception
// (if a network error for example),
// we will be ready
try
{
// on error rollback changes
con.Rollback();
}
catch (SAException &)
{
}
// print error message
cout << "%s\n" << (const char*)x.ErrText();
}
return 0;
}

Я получаю это сообщение об ошибке:

cd 'C:\Users\user\Documents\NetBeansProjects\SGBD Rasore'
C:\MinGW\msys\1.0\bin\make.exe -f Makefile CONF=Debug
"/C/MinGW/msys/1.0/bin/make.exe" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make.exe[1]: Entering directory `/c/Users/user/Documents/NetBeansProjects/SGBD Rasore'
"/C/MinGW/msys/1.0/bin/make.exe"  -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/sgbd_rasore.exe
make.exe[2]: Entering directory `/c/Users/user/Documents/NetBeansProjects/SGBD Rasore'
mkdir -p dist/Debug/MinGW-Windows
g++ -o dist/Debug/MinGW-Windows/sgbd_rasore build/Debug/MinGW-Windows/main.o -L../../../Desktop/BD/SQLAPI/MinGW-5.1.0-tdm64/lib -lsqlapi
build/Debug/MinGW-Windows/main.o: In function `main':
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:7: undefined reference to `SAConnection::SAConnection()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::SAString(char const*)'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::SAString(char const*)'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::SAString(char const*)'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:19: undefined reference to `SAConnection::Connect(SAString const&, SAString const&, SAString const&, eSAClient, void ( cdecl*)(SAConnection&, eSAConnectionHandlerType))'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:25: undefined reference to `SAConnection::Disconnect()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:7: undefined reference to `SAConnection::~SAConnection()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:15: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:38: undefined reference to `SAConnection::Rollback()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:44: undefined reference to `SAException::ErrText() const'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:44: undefined reference to `SAString::operator char const*() const'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:44: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:44: undefined reference to `SAString::~SAString()'
C:\Users\user\Documents\NetBeansProjects\SGBD Rasore/main.cpp:7: undefined reference to `SAConnection::~SAConnection()'
collect2.exe: error: ld returned 1 exit status
make.exe[2]: *** [dist/Debug/MinGW-Windows/sgbd_rasore.exe] Error 1
make.exe[2]: Leaving directory `/c/Users/user/Documents/NetBeansProjects/SGBD Rasore'
make.exe[1]: *** [.build-conf] Error 2
make.exe[1]: Leaving directory `/c/Users/user/Documents/NetBeansProjects/SGBD Rasore'
make.exe": *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 1s)

Что я должен сделать, чтобы устранить эту ошибку и иметь возможность запустить программу? Может ли кто-нибудь объяснить мне это шаг за шагом?

заранее спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]