我有一个带有一些函数的C项目,也是用arm霓虹灯汇编编写的,但是我不能编译它,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.。。。
发布于 2015-11-24 16:30:03
这个问题缺少关于您如何尝试构建程序的信息。似乎你在编译动态库的时候尝试静态链接stdlib。
在构建动态库时,链接动态库,而不是静态库。如果你不想创建动态库,那么你的问题很可能出在你的makefile文件中,而makefile并没有包含在内。
https://stackoverflow.com/questions/33565994
复制相似问题