您的位置:首页 > 其它

关于部分自定义静态库(*.lib)在Pocket PC不能使用的问题

2009-05-19 17:05 501 查看
例如:

在Pocket PC工程中

#pragma message("链接到../Debug/tinyxmld.lib")
#pragma comment(lib,"../Debug/tinyxmld.lib")
#include "../tinyxml.h"

......

TiXmlDocument *myDoc = new TiXmlDocument();
myDoc->LoadFile("./test.xml");
(注:tinyxmld.lib在vc6.0平台编译生成)

理论上是对的,在mfc、win32平台都ok.

但是在Pocket PC就报错。

1>Flight.obj : error LNK2019: 无法解析的外部符号 "public: bool __cdecl TiXmlDocument::LoadFile(char const *,enum TiXmlEncoding)" (?LoadFile@TiXmlDocument@@QAA_NPBDW4TiXmlEncoding@@@Z),该符号在函数 "public: void __cdecl CFlight::LoadFlightControl(void)" (?LoadFlightControl@CFlight@@QAAXXZ) 中被引用
1>Flight.obj : error LNK2019: 无法解析的外部符号 "public: __cdecl TiXmlDocument::TiXmlDocument(void)" (??0TiXmlDocument@@QAA@XZ),该符号在函数 "public: void __cdecl CFlight::LoadFlightControl(void)" (?LoadFlightControl@CFlight@@QAAXXZ) 中被引用

原因可能是:

1、“../Debug/”并没有“tinyxmld.lib”文件,所以提示找不到对应的函数实现。

2、Windows Mobile 用的是Armv4I的CPU,VS6 编译的多是X86的,根本就不行。(很隐蔽的原因)解决办法是在Armv4I条件下编译一个对应的lib,提供给Pocket PC项目使用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐