link error 2001错误及解决

      最近在写一个XMLDocument库,用的是VS2008EXPR,新建Console项目XMLDoc,为了方便测试,我另外建了一个TestXMLDoc,然后将其加入当前solution.

     将TestXMLDoc设为Active project。然后在project dependencies中设置TextXMLDoc对XMLDoc的依赖。

     编译:失败.输出大致如下:

 

2>TestXMLDoc.obj : error LNK2001: unresolved external symbol "public: static class XMLDocument __cdecl XMLDocument::CreateXMLDocumentFromFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?CreateXMLDocumentFromFile@XMLDocument@@SA?AV1@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
2>TestXMLDoc.obj : error LNK2001: unresolved external symbol "public: __thiscall XMLDocument::~XMLDocument(void)" (
??1XMLDocument@@QAE@XZ)
2>TestXMLDoc.obj : error LNK2001: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall XMLDocument::GetContent(void)" (
?GetContent@XMLDocument@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)

 

  刚开始怀疑是不是因为XMLDoc.lib没有正确生成,但是因为不会设置project的output项,放弃。然后上网查了一大通,没有解决问题。后来我偶然发现了把project输出设置为lib的方法,把XMLDoc输出为lib,然后再编译,OK!

 

设置输出为lib的方法如下:

右击XMLDocument,properties->general->Configuration Type设为static lib.

 

  link error 2001的原因肯定是很多的,每个人遇到的情况可能会不同,这篇日记仅适用于类似的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值