<转>关于 error LNK2019:无法解析的外部符号 ,该符号在函数**中被引用的思考

错误提示信息摘抄如下:

--------------------------------------------------------------------------------------------------

错误         12     error LNK2019: 无法解析的外部符号 __imp__UuidFromStringA@8, 该符号在函数"public: class activemq::util::Guid & __thiscall activemq::util::Guid::operator=(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??4Guid@util@activemq@@QAEAAV012@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)中被引用        r:\XBROADCAST2.8\MQ_SRC\SendingTerminal-Rec\libactivemq-cppd.lib     1

--------------------------------------------------------------------------------------------------

错误         7       error LNK2019: 无法解析的外部符号 __imp__UuidCreateNil@4,该 符号在函数 "public: __thiscall activemq::util::Guid::Guid(void)" (??0Guid@util@activemq@@QAE@XZ) 中被引用         r:\XBROADCAST2.8\MQ_SRC\SendingTerminal-Rec\libactivemq-cppd.lib     1

--------------------------------------------------------------------------------------------------

在编译同事A的源代码时,发现有如上几个问题,折腾了半天,在同事B的帮助下艰难的搞定,今天在此总结一下:

(1) 这是个链接问题,跟源代码没有任何问题。这样问题范围就缩小了很多。

(2) 链接问题,主要有头文件包含和Lib库包含问题。

    头文件包含:代码引用到了这个函数,而没有包含此函数的头文件。

    lib库包含:缺少必要的lib(我的工程是这样,需要耐心去比对,去看错误信息);工程本身包含的Lib库不是最新的,需要更新,或者链接到其他地方的Lib库。

(3) 最可恶的地方就是,包含头文件的代码中引用了其他lib库,这个最难发现了。

 

 

信念

2012.01.17

 

转自http://blog.sina.com.cn/s/blog_63597e380100zqhl.html

posted @ 2014-05-22 09:18  PAK FA T-50  阅读(575)  评论(0编辑  收藏  举报