arm-linux-ld发生错误
头文件include/config.h//该头文件定义宏userdef启动文件start.S//包含以上头文件,并使用头文件中的宏userdef实现文件test.c//s...
头文件 include/config.h //该头文件定义宏 userdef
启动文件 start.S //包含以上头文件,并使用头文件中的宏 userdef
实现文件 test.c //start.S跳转到该文件
编译成start.o和test.o时没有错误,
而连接时:
test.bin:start.o test.o
arm-linux-ld -Ttext 30000000 -o test.bin $^ //该句发生错误
错误如下:
start.o: In function `_start':
(.text+0x20): undefined reference to `userdef
//也就是说在start.S中找不到声明 userdef ,但我明明在编译成start.o时没有错误啊,证明头文件没有问题,在连接时为什么找不到该宏呢?实在不解 展开
启动文件 start.S //包含以上头文件,并使用头文件中的宏 userdef
实现文件 test.c //start.S跳转到该文件
编译成start.o和test.o时没有错误,
而连接时:
test.bin:start.o test.o
arm-linux-ld -Ttext 30000000 -o test.bin $^ //该句发生错误
错误如下:
start.o: In function `_start':
(.text+0x20): undefined reference to `userdef
//也就是说在start.S中找不到声明 userdef ,但我明明在编译成start.o时没有错误啊,证明头文件没有问题,在连接时为什么找不到该宏呢?实在不解 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询