尝试使用SQL API时出现错误LNK2019(Visual Studio 2010)

时间:2014-02-27 07:10:27

标签: c++ c visual-studio-2010 linker

Total Newbie使用Visual Studio 2010试用SQLAPI,底部的代码是他们提供的确切示例,因此我认为代码没有问题。但是当我尝试构建它时,它只是继续显示LNK2019。

这些是错误:


错误LNK2019:未解析的外部符号“public:virtual __thiscall SAConnection ::〜SAConnection(void)”(?? 1SAConnection @@ UAE @ XZ)在函数__catch $ _main $ 0中引用

错误LNK2019:函数__catch $ _main $ 0中引用的未解析的外部符号“public:__thiscall SAString :: operator char const *(void)const”(?? BSAString @@ QBEPBDXZ)

错误LNK2019:未解析的外部符号“public:class SAString __thiscall SAException :: ErrText(void)const”(?ErrText @ SAException @@ QBE?AVSAString @@ XZ)在函数__catch $ _main $ 0中引用

错误LNK2019:函数__catch $ _main $ 0中引用的未解析的外部符号“public:void __thiscall SAConnection :: Rollback(void)”(?Rollback @ SAConnection @@ QAEXXZ)

错误LNK2019:函数_main

中引用的未解析的外部符号“public:void __thiscall SAConnection :: Disconnect(void)”(?Disconnect @ SAConnection @@ QAEXXZ)

错误LNK2019:函数_main

中引用的未解析的外部符号“public:__thiscall SAString :: ~SAString(void)”(?? 1SAString @@ QAE @ XZ)

错误LNK2019:未解析的外部符号“public:void _ thiscall SAConnection :: Connect(类SAString const&,类SAString const&,类SAString const&,enum eSAClient,void( _cdecl *)(类SAConnection&,enum eSAConnectionHandlerType))“(连接@ SAConnection @@ QAEXABVSAString @@ 00W4eSAClient @@ P6AXAAV1 @ W4eSAConnectionHandlerType @@@ Z @ Z)在函数_main

中引用

错误LNK2019:函数_main

中引用的未解析的外部符号“public:__thiscall SAString :: SAString(char const *)”(?? 0SAString @@ QAE @ PBD @ Z)

错误LNK2019:函数_main

中引用的未解析的外部符号“public:__thiscall SAConnection :: SAConnection(void)”(?? 0SAConnection @@ QAE @ XZ)

我在项目属性中的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;

1 个答案:

答案 0 :(得分:2)

在项目属性的附加依赖项中指定sqlapi.lib->链接器选项卡。