armcc链接错误错误:在构建C项目时armcc中的L6769E,问题是什么?

时间:2015-11-06 11:39:51

标签: c armcc

我有一个C项目,其中一些函数也用arm neon assembly编写,但是我无法编译它,main()所在的文件有几个错误,而且看起来很模糊,我正在使用DS-5用于编译,它可以在没有asm功能的情况下在MSVC上构建和运行。问题是什么?

/* TestApp.c file */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){ 
FILE    *inFile = NULL;
FILE    *outFile = NULL;
...
malloc();
...
printf("malloc failed");
...
memcpy();
....
...
}

Error form ARMCC 4.5.2
Warning: L6412W: Disabling merging for TestApp.o(.conststring), unsupported relocation R_ARM_REL32 from TestApp.o(i.main)
Error: L6769E: Relocation #REL:41 in printf.o(.text) with respect to __stdout. No GOTSLOTexists for symbol.
Error: L6769E: Relocation #REL:6 in fopen.o(.text) with respect to __stdin. No GOTSLOTexists for symbol.
Error: L6769E: Relocation #REL:2 in _printf_char_file.o(.text) with respect to fputc. No GOTSLOTexists for symbol.
Error: L6769E: Relocation #REL:22 in initio.o(.text) with respect to __stdin. No GOTSLOTexists for symbol.
Error: L6769E: Relocation #REL:23 in initio.o(.text) with respect to __stdout. No GOTSLOTexists for symbol.
Error: L6769E: Relocation #REL:24 in initio.o(.text) with respect to __stderr. No GOTSLOTexists for symbol.
Error: L6769E: Relocation #REL:25 in initio.o(.text) with respect to __stdin. No GOTSLOTexists for symbol.

。 。

1 个答案:

答案 0 :(得分:0)

这个问题缺乏关于如何构建程序的信息。看来你在编译动态库时尝试静态链接stdlib。

构建动态库时,链接动态库,而不是静态库。如果您不想创建动态库,那么您的问题很可能是在未包含的makefile中。