Не удается найти -lC:\SQLAPI\lib\sqlapi.lib в омнет ++ IDE
Я запускаю свою простую программу на C++ в среде IDE OMNET ++. Мой код выглядит следующим образом
**#include <stdio.h> // for printf
#include <string.h>
#include <SQLAPI.h> // main SQLAPI++ header
//#include <asaAPI.h>
int main(int argc, char* argv[])
{
SAConnection con;
con.setOption( "UseAPI" ) = "DB-Library";
con.setClient( SA_SQLServer_Client );
try
{
con.Connect(
"paper2"
"NADRA",
"",
SA_SQLServer_Client);
printf("We are connected!\n");
// Disconnect is optional
// autodisconnect will occur in destructor if needed
//con.Disconnect();
printf("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
printf("%s\n", (const char*)x.ErrText());
}
return 0;
}**
Я уже связал все файлы, но я получаю следующую ошибку
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lC:\SQLAPI\lib\sqlapi.lib
collect2.exe: error: ld returned 1 exit status
Где как файл sqlapi.lib
находится в той же папке, но компоновщик не может его найти. Может кто-то говорит мне о проблеме, почему компилятор не может связать его. Я использую MINGW
как компилятор C++. Снимок экрана прилагается с вопросом о связанных файлах введите описание изображения здесь
1 ответ
Если вы используете -l
затем следует только имя библиотеки, что-то вроде:
-lsqlapi
Если вы хотите указать путь поиска, то:
-lsqlapi -LC:\SQLAPI\lib\
(Обычно путь находится в режиме Linux, поэтому `C:/SQLAPI/lib).
Тогда, если это не сработает, вы всегда можете принудительно связать библиотеку, просто используя ее как другой объект:
C:/SQLAPI/lib/sqlapi.lib
Обратите внимание, что gcc не связывается со статическими библиотеками Visual Studio, которые sqlapi
может (из-за расширения .lib
и не .a
, но тогда это может быть библиотека экспорта для dll
).