我正在將一箇舊的vC++ 6.0應用程序移植到vs2005中,我收到以下鏈接器錯誤,並花了數天的時間嘗試查找解決方案。來自第三方庫的鏈接器錯誤LNK2019
錯誤LNK2019:解析外部符號_ 小鬼 _CreateAwnService @ 52 在函數引用 「市民:INT __thiscall 的CMainFrame:CreateAsaNetworkServices(無效)」
有一個第三方的C庫用下面的API定義
extern "C"
{
DLLAPI IAwnServ * AWNAPI CreateAwnService(HINSTANCE hInst,
const char *pszDId, const char *pszDLoc,
AWN_DIQUAL DiQual, AWN_DOQUAL DoQual, int Prio,
const char *pszLicStr, const char *pszInfo,
AWN_REPEAT Repeat=R_LAST, TIME_T Since=0,
BOOL bLogin=FALSE, BOOL bDeb=FALSE);
DLLAPI IAwnSend * AWNAPI CreateAwnSend(const IAwnSend *pSend = NULL);
DLLAPI IAwnData * AWNAPI CreateAwnData(const char *pData = NULL, int iLen = 0);
DLLAPI IAwnHeader * AWNAPI CreateAwnHeader(const IAwnHeader *pHeader = NULL);
DLLAPI IAwnReference * AWNAPI CreateAwnReference(const IAwnReference *pRef = NULL);
DLLAPI IAwnFile * AWNAPI CreateAwnFile(const char *pFile = NULL);
DLLAPI IAwnOrder * AWNAPI CreateAwnOrder(const IAwnOrder *pOrder);
DLLAPI IAwnVehicle * AWNAPI CreateAwnVehicle(const IAwnVehicle *pVehicle);
DLLAPI int AWNAPI AwnCmp(const IAwnSend *pSend1, const IAwnSend *pSend2);
DLLAPI TIME_T AWNAPI AwnGetNetTime(const char *NetTime);
DLLAPI int AWNAPI AwnSetNetTime(char *NetTime, TIME_T Time);
DLLAPI TIME_T AWNAPI AwnMakeQueryTime(int MonthsBack);
DLLAPI struct tm *AWNAPI AwnSplitTime(TIME_T Time);
DLLAPI TIME_T AWNAPI AwnMakeTime(tm *ptm);
}
#endif
給API的調用如下:
m_pIAwnService = CreateAwnService(AfxGetApp()->m_hInstance, .........)
我已檢查所有鏈接包括等,我似乎無法找到該錯誤。
任何幫助,非常感謝。
那麼,錯誤是在鏈接器選項。 *它總是*。您可能已經檢查過,但也許您沒有檢查所有內容,或沒有正確檢查。 –
你確定第三方庫鏈接成功嗎? –
@ R.馬丁霍費爾南德斯可以建議一些鏈接器設置來檢查。 – user655261