在ARM下,makefile中怎么link呢
我在makefile中用vc的编译器cl.exe,怎么不需要link.exe去做工作,就直接生成了exe文件呢.
比如下面的c和h文件
mymakefile.h如下
#ifndef _MY_MAKEFILE_H_
#define _MY_MAKEFILE_H_
#include <stdio.h>
#include <stdlib.h>
#endif
mymakefile.c如下:
#include "mymakefile.h"
int main(char *argv[], int *argc)
{
printf("hello world.");
getchar();
return 0;
}
然后我的makefile如下:
all : mymakefile.obj
cl -o all mymakefile.obj
mymakefile.obj : mymakefile.c mymakefile.h
cl -c mymakefile.c
clean :
rm edit mymakefile.obj
这样执行完makefile后就生成了mymakefile.exe.
如果我用arm的编译器的时候,好像还需要link是吧.
我用arm的时候,makefile中的.obj是不是都要改成.o呢,
就像如下:
all : mymakefile.o
cl -o all mymakefile.o
mymakefile.o : mymakefile.c mymakefile.h
cl -c mymakefile.c
clean :
rm edit mymakefile.o
在ARM下,执行完这个makefile是不是还要link一下,但是link的程序我不会写.
我能看懂别人写的makefile,也会改一点,就是自己从头开始写就不会了.
在ARM下LINK完成后,怎么让他生成可执行文件呢?
高手们能接着我的arm下的makfile往下写一点吗,直到生成ARM下的可执行文件?
谢谢了.
[解决办法]
cl会调用link
就像Unix/Linux下
cc会调用ld
[解决办法]
cl -o all mymakefile.obj
这句在加个 -c ,原因就是ls的 ,如果不指定-c的话
[解决办法]
arm-linux-ld
[解决办法]
在pc机上 用交叉工具链 编译 生成在arm上可运行程序
拷贝到arm相上 运行
除了编译工具的名称可能不一样外 其他跟在pc机一般编译没有什么大区别
[解决办法]
直接在命令行进行编译嘛,比较简单...首先你vi makefile.c
写好你的c文件,然后几个命令的问题
qmake -project
qmake
make
就ok啦...
[解决办法]