如何解决“无法解析的外部符号”错误
这两天在写程序时碰到了一个问题,我想用 StringLoader::LoadLC()来读取资源的内容,但老是会失败,代码如下。
#include <stringloader.h>
#include <Symbian1.rsg>
HBufC* TestStr=StringLoader::LoadLC(R_TEST_STR);
一编译就产生
Symbian1 error LNK2019: 无法解析的外部符号 "public: static class HBufC16 * __cdecl StringLoader::LoadLC(int,class CCoeEnv *)" (?LoadLC@StringLoader@@SAPAVHBufC16@@HPAVCCoeEnv@@@Z) ,该符号在函数 "public: void __thiscall CSymbian1Container::ConstructL(class TRect const &)" (?ConstructL@CSymbian1Container@@QAEXABVTRect@@@Z) 中被引用
SDK中说到,要用到StringLoader::LoadLC的话要在MMP文件中加入对commonengine.lib库的引用,于是我就加入了,但还是这个鸟样,甚至VS.NET还帮我把 commonengine.lib 取消掉了,于是上网查了N久,说这说那的,大家都说要改这改那好麻烦,最后还要用命令行去MAKE 一下 工程文件 ,我郁闷了,突然间我想到了,以前老师说过要引入外部 lib文件的话可 以 在项目属性里面引入,我就 打开 项目属性->链接器->命令行->附加选项 加入了 commonengine.lib 再编译。。这下成功了。HOHO
潮州新天地网络 翁培铖
#include <stringloader.h>
#include <Symbian1.rsg>
HBufC* TestStr=StringLoader::LoadLC(R_TEST_STR);
一编译就产生
Symbian1 error LNK2019: 无法解析的外部符号 "public: static class HBufC16 * __cdecl StringLoader::LoadLC(int,class CCoeEnv *)" (?LoadLC@StringLoader@@SAPAVHBufC16@@HPAVCCoeEnv@@@Z) ,该符号在函数 "public: void __thiscall CSymbian1Container::ConstructL(class TRect const &)" (?ConstructL@CSymbian1Container@@QAEXABVTRect@@@Z) 中被引用
SDK中说到,要用到StringLoader::LoadLC的话要在MMP文件中加入对commonengine.lib库的引用,于是我就加入了,但还是这个鸟样,甚至VS.NET还帮我把 commonengine.lib 取消掉了,于是上网查了N久,说这说那的,大家都说要改这改那好麻烦,最后还要用命令行去MAKE 一下 工程文件 ,我郁闷了,突然间我想到了,以前老师说过要引入外部 lib文件的话可 以 在项目属性里面引入,我就 打开 项目属性->链接器->命令行->附加选项 加入了 commonengine.lib 再编译。。这下成功了。HOHO
潮州新天地网络 翁培铖
浙公网安备 33010602011771号