|
|
- vxWorks映像中加入.0文件问题
作者:smiletan 时间:2008-3-28 23:40:14
我现在是用bootrom.bin引导vxWorks,vxWorks映像是由一个bootable工程生成的,这一步是OK的。我在Tornado2.2环境下新建一个downloadble工程,工程中有一个C函数Test(),生成的文件是GPIO.o,现在我想在vxWorks中调用这个函数。但出现的问题是:
1.在bootable工程中加入宏EXTRA_MOUDLE=D:/VOIP/GPIO.o
2.重新编译生成vxWorks
3.启动在Tornado2.2环境shell中直接运行GPIO.o中的函数Test,OK
4.在调试串口中运行Test,出现错误信息:undefined symbol:Test。
另外,我直接在bootable工程的C文件usrAppInit.c的函数usrAppInit()中调用GPIO.o中的函数Test,编译时出错:In function 'usrAppiInit()' undefined reference to 'Test'。
大家请帮帮我吧,谢谢!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:飞沙孤雁 时间:2008-4-30 23:50:57
就是你的那个.o文件阿!直接macro里加入就可以了!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:smiletan 时间:2008-4-29 22:03:13
我说是不是应该是这样子的,
1:第一再外部库文件里面加入你的那个.o文件;
2:第二在你那个User函数前面加上一个extern void Test()函数;
3:重新编译,一切都OK了吧!
外部库文件是什么文件?文件名是什么?谢谢!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:laspire 时间:2008-4-27 20:56:01
在usrAppInit.c先声明再调用
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:不笨 时间:2008-4-26 23:01:39
你们这是在boot里面加入应用程序么?直接macro里加入就可以了?
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:hbbt 时间:2008-4-3 23:16:51
[em01]
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:飞沙孤雁 时间:2008-4-3 21:53:17
我说是不是应该是这样子的,
1:第一再外部库文件里面加入你的那个.o文件;
2:第二在你那个User函数前面加上一个extern void Test()函数;
3:重新编译,一切都OK了吧!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:tearring 时间:2008-4-2 22:48:55
undefined symbol:Test。
LZ是在host shell下输入还是在目标机shell下输入的呢
要配置同步组件和目标服务器同步应该就不回出现你的问题了
吧
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
作者:MyForever 时间:2008-3-29 11:41:05
我现在是用bootrom.bin引导vxWorks,vxWorks映像是由一个bootable工程生成的,这一步是OK的。我在Tornado2.2环境下新建一个downloadble工程,工程中有一个C函数Test(),生成的文件是GPIO.o,现在我想在vxWorks中调用这个函数。但出现的问题是:
1.在bootable工程中加入宏EXTRA_MOUDLE=D:/VOIP/GPIO.o
2.重新编译生成vxWorks
3.启动在Tornado2.2环境shell中直接运行GPIO.o中的函数Test,OK
4.在调试串口中运行Test,出现错误信息:undefined symbol:Test。
另外,我直接在bootable工程的C文件usrAppInit.c的函数usrAppInit()中调用GPIO.o中的函数Test,编译时出错:In function 'usrAppiInit()' undefined reference to 'Test'。
大家请帮帮我吧,谢谢!
既然你已经:在bootable工程中加入宏EXTRA_MOUDLE=D:/VOIP/GPIO.o
那么下面的错误是不应该的:编译时出错:In function 'usrAppiInit()' undefined reference to 'Test'。
是不是写错了函数名??
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|