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;
答案 0 :(得分:2)
在项目属性的附加依赖项中指定sqlapi.lib->链接器选项卡。