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

猜你喜欢

转载自blog.csdn.net/tong794729500/article/details/79013178