error LNK2001: unresolved external symbol "class ATL::CAtlBaseModule ATL::_AtlBaseModule"

在使用下面的方法獲得當前路徑時,

     wchar_t szBuff[MAX_PATH] = { 0 };
    HMODULE hModuleInst = ATL::_AtlBaseModule.GetModuleInstance();
    GetModuleFileName(hModuleInst, szBuff, MAX_PATH);

編譯提示報錯,

error LNK2001: unresolved external symbol "class ATL::CAtlBaseModule ATL::_AtlBaseModule" (?_AtlBaseModule@ATL@@3VCAtlBaseModule@1@A)"

error LNK2001: 無法解析的外部符號 "class ATL::CAtlBaseModule ATL::_AtlBaseModule" (?_AtlBaseModule@ATL@@3VCAtlBaseModule@1@A)"

由於沒有引用鏈接庫導致,在代碼前加入

#ifdef DEBUG
    #pragma comment(lib,"atls.lib")
#else
    #pragma comment(lib, "atlsd.lib")
#endif

 

若本機的vs下沒有“atlsd.lib”文件,請從網絡上下載。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章