gpt4 book ai didi

c++ - 在 omnet++ IDE 中找不到 -lC :\SQLAPI\lib\sqlapi. 库

转载 作者:行者123 更新时间:2023-11-28 04:26:01 24 4
gpt4 key购买 nike

我正在 OMNET++ IDE 中运行我的简单 C++ 程序我的代码如下

**#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++ 编译器。屏幕截图附在关于链接文件的问题 enter image description here

最佳答案

如果您使用的是 -l,那么它后面应该只跟库名称,例如:

-lsqlapi

如果要指定搜索路径,则:

-lsqlapi -LC:\SQLAPI\lib\

(通常路径在 Linux 模式下,所以 `C:/SQLAPI/lib thought)。

然后,如果这不起作用,您始终可以通过将库用作另一个对象来强制链接该库:

C:/SQLAPI/lib/sqlapi.lib

请注意,虽然 gcc 不链接到 Visual Studio 静态库,sqlapi 可能(因为扩展名是 .lib 而不是 .a,但这可能是 dll 的导出库。

关于c++ - 在 omnet++ IDE 中找不到 -lC :\SQLAPI\lib\sqlapi. 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54309359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com