objectarx編譯Debug版arx遇到的問題

錯誤一鏈接錯誤
1>pietdoginterface_s.lib(Msg.obj) : error LNK2001: 無法解析的外部符號 “class ATL::CTraceCategory ATL::atlTraceException” (?atlTraceException@ATL@@3VCTraceCategory@1@A)
1>pietdoginterface_s.lib(Msg.obj) : error LNK2001: 無法解析的外部符號 “public: static class ATL::CTrace ATL::CTrace::s_trace” (?s_trace@CTrace@ATL@@2V12@A)
1>../../../debug/cad2007/PiCommon.arx : fatal error LNK1120: 2 個無法解析的外部命令
錯誤二,運行錯誤:
警告: D:***.arx 從 MSVCR80.DLL 和 MSVCR80D.DLL中分配內存。
這可能會引起錯誤。

原因:
arx不管是debug還是release全部都編譯的是Md版,沒有MDd/MT/Mtd版本的,並且,debug版本沒有_DEBUG宏,(創建工程的時候可以選擇有_debug宏的選項),在第一頁2007(以上)
如果你鏈接了靜態的lib庫,出現鏈接錯誤和運行警告,那麼就需要去掉修改靜態庫debug版本的MDd->爲Md,去掉宏_DEBUG:
請記住:編譯arx時,鏈接庫請連接release版本的其他庫
debug版本的MDd->爲Md
去掉宏_DEBUG

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