DLL加载

wistaria2002 2008-07-22 12:08:11
做了个DLL,在wins下调试成功,然后在armi下也生成了dll和lib文件(但是有3个错误),然后在程序中调用这个dll,生成了sis文件,安装到手机上却不能运行,程序不调用这个dll时在手机上可以运行。是什么问题,请大家帮我分析一下
贴上dll的生成日志放在附件上
贴上程序的的生成日志:
正在执行生成文件项目操作
* Current build configuration: ARMI UREL
* Creating makefile for platform ARMI
epocroot =
* D:\Nokia\Tools\Carbide_vs\makmake.bat \project\DMTest\group\DMTest ARMI
* Running build action: build
epocroot =
* D:\Nokia\Tools\Carbide_vs\make.bat -f D:\project\DMTest\group\DMTest.ARMI UREL
gcc -s -fomit-frame-pointer -O -march=armv4t -mthumb-interwork -pipe -c -nostdinc -Wall -Wno-ctor-dtor-privacy -Wno-unknown-pragmas -DNDEBUG -D_UNICODE -D__SYMBIAN32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ -D__MARM_ARMI__ -D__DLL__ -I "..\SRC" -I "." -I "..\INC" -I "." -I "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\INCLUDE" -o ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTESTCONTAINER.o "..\SRC\Dmtestcontainer.cpp"
In file included from ..\SRC\Dmtestcontainer.cpp:12:
..\INC\DMTestContainer.h(37): warning: `/*' within comment
..\INC\DMTestContainer.h(49): warning: `/*' within comment
..\\SRC\\Dmtestcontainer.cpp: In method `void CDMTestContainer::OnDecode()':
..\\SRC\\Dmtestcontainer.cpp(167): warning: unused variable `TInt dwEffWidth'
if exist "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.in" del "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.in"
ar cr ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.in ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTESTAPP.o ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTESTAPPUI.o ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTESTCONTAINER.o ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTESTDOCUMENT.o
dlltool -m arm_interwork --output-def "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.inf" "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.in"
perl -S makedef.pl -Deffile "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.inf" -1 NewApplication__Fv "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\DMTEST.def"
dlltool -m arm_interwork --def "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\DMTEST.def" \ --output-exp "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.exp" \ --dllname "DMTEST[0be7cc08].APP"
ld -s -e _E32Dll -u _E32Dll "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.exp" --dll \ --base-file "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.bas" -o "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.APP" \ "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EDLL.LIB" --whole-archive "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.in" \ --no-whole-archive ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EDLLSTUB.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EGCC.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\COMMONDIALOGS.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\BITMAPTRANSFORMS.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKSRV.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\AKNNOTIFY.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\BAFL.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\IMAGECONVERSION.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\DMDECODE.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCTL.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCDLG.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\FBSCLI.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\ESTLIB.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EFSRV.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EUSER.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\APPARC.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\CONE.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCORE.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCOCTL.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\AVKON.LIB
dlltool -m arm_interwork \ --def "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\DMTEST.def" \ --dllname "DMTEST[0be7cc08].APP" \ --base-file "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.bas" \ --output-exp "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.exp"
ld -s -e _E32Dll -u _E32Dll --dll \ "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.exp" \ -Map "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\DMTEST.APP.map" -o "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.APP" \ "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EDLL.LIB" --whole-archive "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.in" \ --no-whole-archive ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EDLLSTUB.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EGCC.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\COMMONDIALOGS.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\BITMAPTRANSFORMS.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKSRV.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\AKNNOTIFY.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\BAFL.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\IMAGECONVERSION.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\DMDECODE.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCTL.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCDLG.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\FBSCLI.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\ESTLIB.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EFSRV.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EUSER.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\APPARC.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\CONE.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCORE.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\EIKCOCTL.LIB ..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\AVKON.LIB
petran "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMTEST\GROUP\DMTEST\ARMI\UREL\DMTEST.APP" "..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\RELEASE\ARMI\UREL\DMTEST.APP" \ -nocall -uid1 0x10000079 -uid2 0x100039ce -uid3 0x0be7cc08
PETRAN - PE file preprocessor V01.00 (Build 191)
Copyright (c) 1996-2004 Symbian Ltd.
* Updating D:\project\DMTest\sis\DMTest.pkg
* Creating install file at D:\project\DMTest\sis\DMTest.sis
epocroot = \Symbian\8.0a\S60_2nd_FP2\
* D:\Symbian\8.0a\S60_2nd_FP2\\epoc32\tools\makesis.exe D:\project\DMTest\sis\DMTest.pkg
Processing D:\project\DMTest\sis\DMTest.pkg...
Created D:\project\DMTest\sis\DMTest.SIS
...全文
226 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanxiao_0210 2009-09-11
  • 打赏
  • 举报
回复
一年多的帖子了。楼主最后怎么解决的问题呀?
ManZY 2008-07-23
  • 打赏
  • 举报
回复
c:\system\bootdata目录下面建立ErrRd文件。这样可以看到程序报错。

程序一闪而过,很明显,启动的时候崩溃了。

1.如果是dll的问题,你会看到一个Kern-Exec 0的提示。
2.我怀疑是在ui的constructl或者是container的draw函数当中崩溃了。

anel 2008-07-23
  • 打赏
  • 举报
回复
什么错误贴出来看看.
wistaria2002 2008-07-23
  • 打赏
  • 举报
回复
大家有没有遇到过程序运行一闪而过,运行不了的问题啊。我刚在网上看到有人说“如果程序入口都没有进入,很可能是由于某些lib在真机不被支持。”,有这样的问题吗
我的Dll里有
LIBRARY fbscli.lib
LIBRARY BitmapTransforms.lib
LIBRARY ImageConversion.lib
LIBRARY efsrv.lib
LIBRARY estlib.lib
LIBRARY avkon.lib
LIBRARY eikcdlg.lib
LIBRARY eikctl.lib
LIBRARY euser.lib
测试程序里有
LIBRARY commondialogs.lib
LIBRARY bitmaptransforms.lib
LIBRARY eiksrv.lib
LIBRARY aknnotify.lib
LIBRARY bafl.lib
LIBRARY ImageConversion.lib
LIBRARY DMDecode.lib //这个是新编的DLL,就是调用这个
LIBRARY eikctl.lib
LIBRARY eikcdlg.lib
LIBRARY fbscli.lib
LIBRARY estlib.lib
LIBRARY efsrv.lib
LIBRARY euser.lib
LIBRARY apparc.lib
LIBRARY cone.lib
LIBRARY eikcore.lib
LIBRARY eikcoctl.lib
LIBRARY avkon.lib
wistaria2002 2008-07-23
  • 打赏
  • 举报
回复
请大家帮我分析一下啊,谢谢了
computerwjun 2008-07-23
  • 打赏
  • 举报
回复
如果是动态调用的话,注意下你的DLL对应生成的.def文件。看是否与你想调用的接口顺序相一致。
wistaria2002 2008-07-22
  • 打赏
  • 举报
回复
mmp文件也有EXPORTUNFROZEN
anel 2008-07-22
  • 打赏
  • 举报
回复
mmp文件加上:
EXPORTUNFROZEN
wistaria2002 2008-07-22
  • 打赏
  • 举报
回复
我检查过是一一对应的
ManZY 2008-07-22
  • 打赏
  • 举报
回复
导出接口的问题。

你查查DLL当中的IMPORT_C和EXPORT_C是否一一对应?
ManZY 2008-07-22
  • 打赏
  • 举报
回复
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(3): error: "_._9CDMDecode" @1
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(4): error: ExampleFuncAddCharL__9CDMDecodeRC5TChar @2
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(5): error: ExampleFuncRemoveLast__9CDMDecode @3
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(6): error: ExampleFuncString__C9CDMDecode @4
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(7): error: NewLC__9CDMDecodeP10CFbsBitmap @5
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(8): error: NewL__9CDMDecodeP10CFbsBitmap @6
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(9): error: PtDMDecodeFree__9CDMDecodeP21tagPTTOTALBARCODEINFO @7
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(10): error: PtDMDecodeInit__9CDMDecodeP21tagPTTOTALBARCODEINFO @8
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(11): error: PtDMDecode__9CDMDecodeP10tagPTIMAGEP15tagPTDECODEPARAP21tagPTTOTALBARCODEINFO @9
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(12): error: Version__C9CDMDecode @10
..\..\..\SYMBIAN\8.0A\S60_2ND_FP2\EPOC32\BUILD\PROJECT\DMDECODE\GROUP\DMDECODE\ARMI\DMDECODE.def(13): error: E32Dll__F10TDllReason @11

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧