完全新手使用Visual Studio 2010尝试SQLAPI,底部的代码是他们提供的确切示例,因此我认为代码没有问题。但是当我尝试构建它时,它只会一直显示LNK2019。
这些是错误:
错误LNK2019:未解析的外部符号“公共(public):虚拟__thiscall SAConnection::〜SAConnection(void)”(?? 1SAConnection @@ UAE @ XZ)在函数__catch $ _main $ 0中引用
错误LNK2019:无法解析的外部符号“public:__thiscall SAString::operator char const *(void)const”(?? BSAString @@ QBEPBDXZ)在函数__catch $ _main $ 0中引用
错误LNK2019:无法解析的外部符号“public:类SAString __thiscall SAException::ErrText(void)const”(?ErrText @ SAException @@ QBE?AVSAString @@ XZ)在函数__catch $ _main $ 0中引用
错误LNK2019:无法解析的外部符号“公共(public):void __thiscall SAConnection::Rollback(void)”(?Rollback @ SAConnection @@ QAEXXZ)在函数__catch $ _main $ 0中引用
错误LNK2019:无法解析的外部符号“公共(public):void __thiscall SAConnection::Disconnect(void)”(?Disconnect @ SAConnection @@ QAEXXZ)在函数_main中引用
错误LNK2019:未解析的外部符号“公共(public):__thiscall SAString::〜SAString(void)”(?? 1SAString @@ QAE @ XZ)在函数_main中引用
错误LNK2019:无法解析的外部符号“public:void _thiscall SAConnection::Connect(SAString const&,SAString const&,SAString const&,enum eSAClient,void(_cdecl *)(SAConnection&,enum eSAConnectionHandlerType))”(在函数_main中引用的Connect @ SAConnection @@ QAEXABVSAString @@ 00W4eSAClient @@ P6AXAAV1 @ W4eSAConnectionHandlerType @@@ Z @ Z
错误LNK2019:无法解析的外部符号“公共(public):__thiscall SAString::SAString(char const *)”(?? 0SAString @@ QAE @ PBD @ Z)在函数_main中引用
错误LNK2019:未解析的外部符号“公共(public):__thiscall SAConnection::SAConnection(void)”(?? 0SAConnection @@ QAE @ XZ)在函数_main中引用
我在C / C++和项目属性中的链接器的其他“包含目录”中做了添加库指示。所以,我想念什么?
提前致谢。
我正在尝试构建的代码:
int main(int argc, char* argv[])
{
SAConnection con; // create connection object
try
{
// connect to database
// in this example it is Oracle,
// but can also be Sybase, Informix, DB2
// SQLServer, InterBase, SQLBase and ODBC
con.Connect(
"DIGITALZONE\MSSQL", // database name
"DIGITALZONE\Digital10", // user name
"", // password
SA_Oracle_Client);
printf("We are connected!\n");
// Disconnect is optional
// autodisconnect will ocur 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;
最佳答案
在项目属性->链接器选项卡的其他依赖项中指定sqlapi.lib。
关于c++ - 尝试使用SQL API时发生LNK2019错误(Visual Studio 2010),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22061468/