打印

求教:ucos编译大量的linker错误(在线等)

[复制链接]
1686|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
geergeer|  楼主 | 2007-8-27 10:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先对浏览帖子的大侠表示感谢!
小弟是这样做的:
1)、安装BC45至C:,我是用的BC31
2)、将uC/OS-II解压
3)、在BC45的安装目录BC45BIN下建立一个文件夹uCOS-II,然后将uC/OS-II解压目
录SOFTWAREuCOS-IISOURCE下的os_core.c、os_flag.c、os_mbox.c、os_mem.c、os
_mutex.c、os_q.c、os_sem.c复制至该文件夹。
4)、将uC/OS-II解压目录下的SOFTWAREuCOS-IIEX1_x86LBC45WORK里的INCLUDES.
H、OS_CFG.H、OS_CPU.H、PC.H、UCOS_II.H五个头文件复制到BC45的安装目录BC45IN
CLUDE下,然后将SOFTWAREuCOS-IIEX1_x86LBC45WORK下的OS_CPU_A.ASM、OS_CP
U_C.C、PC.C、UCOS_II.C复制至BC45的安装目录BC45BIN下。并将刚复制过来的UCOS
_II.C里的文件包含代码:
#include "softwareucos-iisourceos_core.c"
#include "softwareucos-iisourceos_flag.c"
#include "softwareucos-iisourceos_mbox.c"
#include "softwareucos-iisourceos_mem.c"
#include "softwareucos-iisourceos_mutex.c"
#include "softwareucos-iisourceos_q.c"
#include "softwareucos-iisourceos_sem.c"
#include "softwareucos-iisourceos_task.c"
#include "softwareucos-iisourceos_time.c"        
改成:
#include "BC45BINuCOS-IIos_core.c"
#include "BC45BINuCOS-IIos_flag.c"
#include "BC45BINuCOS-IIos_mbox.c"
#include "BC45BINuCOS-IIos_mem.c"
#include "BC45BINuCOS-IIos_mutex.c"
#include "BC45BINuCOS-IIos_q.c"
#include "BC45BINuCOS-IIos_sem.c"
#include "BC45BINuCOS-IIos_task.c"
#include "BC45BINuCOS-IIos_time.c"
把TEST.C复制至BC45BIN下,按F9编译,可通过,无语法错误,但是有23个linker错误。
比如:linker error:undefined symbol _osinit in module test.c

恳求大侠们的赐教~~~

相关帖子

沙发
geergeer|  楼主 | 2007-8-27 12:13 | 只看该作者

要建立工程后,把c语言的文件都放进工程中,再编译即可

使用特权

评论回复
板凳
xieqin| | 2007-8-30 22:13 | 只看该作者

_osinit 没有定义

一般说来,在link的时候出现undefined symbol 错误,表示这个函数或变量没有定义.

一是这个函数或变量根本没有定义,二是定义这个函数或变量的文件编译后的.obj没有被加入到链接的资源中.

任何函数或变量,加个extern声明一下都可以编译过(如果是函数,参数或返回类型一定有定义哈).链接的时候才会检测它是否真正被定义过.

使用特权

评论回复
地板
wxs732| | 2020-6-26 06:01 | 只看该作者
我的也一样,按照网络上一部还是有错误
error : undefined  symbol _main in module c0.asm
不知道 什么错误

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

54

帖子

0

粉丝