2013-12-19 76 views
1

我對C++還是比較新的,所以如果我誤解了某些東西,請原諒我。添加了對.lib項目的引用 - 項目沒有使用.cpp文件?

我有一個包含sql連接類的C++庫,我想在項目中使用它。我有:

  • 將其添加到同一個解決方案
  • 新增的「框架和參考」對它的引用
  • 包含在主體工程
  • 加入stdafx.cpp庫的頭文件圖書館項目的目錄作爲包含目錄到主項目

但是,編譯項目時,我仍然得到unresolved external symbol錯誤的數量。

如果我包含庫項目的* .cpp文件,它工作正常,但我不認爲你必須這樣做。


這些都是確切的錯誤,我越來越:

2>Link: 
2> sqlConnector.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance 
2>  Creating library .\Release\MainProject.lib and object .\Release\MainProject.exp 
2>LINK : warning LNK4098: defaultlib 'mfc100u.lib' conflicts with use of other libs; use /NODEFAULTLIB:library 
2>LINK : warning LNK4098: defaultlib 'mfcs100u.lib' conflicts with use of other libs; use /NODEFAULTLIB:library 
2>MainProject.obj : error LNK2001: unresolved external symbol "public: bool __thiscall SQLQuery::AddParameter(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@@Z) 
2>MainProject.obj : error LNK2001: unresolved external symbol "public: void __thiscall SQLQuery::SetQuery(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@@Z) 
2>MainProject.obj : error LNK2001: unresolved external symbol "public: bool __thiscall SQLQuery::Open(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@@Z) 
2>MainProject.obj : error LNK2001: unresolved external symbol "public: void __thiscall SQLQuery::SetConnectionString(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > >)" ([email protected]@@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@@Z) 
2>sqlConnector.obj : error LNK2001: unresolved external symbol "public: void __thiscall CAMTrace::SetEXEName(wchar_t const *)" ([email protected]@@[email protected]) 
2>sqlConnector.obj : error LNK2001: unresolved external symbol "public: void __thiscall CAMTrace::Trace(wchar_t const *,int,int)" ([email protected]@@[email protected]) 
2>.\Release\MainProject.exe : fatal error LNK1120: 6 unresolved externals 

回答

1

u需要做的是添加庫二進制文件(* .lib)文件到你的項目的連接器的輸入。

爲了做到這一點u需要指定到哪裏尋找這是在

鏈接器/通用條目文件/附加庫目錄

之後,美添加庫到下

鏈接器/輸入連接器的輸入/附加依賴

+0

感謝您的迴應,但我已經做到了,並且仍然得到相同的錯誤......是否將lib從release文件夾移動到了一個常用文件夾,其中有很多lib文件被保存? – Raiden616

+0

不,只要公用文件夾也添加到項目中。您收到的錯誤消息表示找不到所需的符號。你確定圖書館包含它們嗎? –

+0

抱歉是一個麻煩 - 我將如何檢查確切的?庫項目編譯得很好,就像我說的,如果我包含.cpp文件,它一切正常。 – Raiden616

相關問題