当前位置: 技术问答>linux和unix
如何完完全全的使用自己的一套工具编译?请看
来源: 互联网 发布时间:2015-02-25
本文导语: 是这么一种条件: 有一个C编译器own-gcc,一个链接器own-ld,还有一套头文件跟相应的函数库(里面有些函数跟标准库函数一致) 有这么一个问题:用以上的那些东西编译一个叫hello.c的源文件,应该用什么样子的命令行...
是这么一种条件:
有一个C编译器own-gcc,一个链接器own-ld,还有一套头文件跟相应的函数库(里面有些函数跟标准库函数一致)
有这么一个问题:用以上的那些东西编译一个叫hello.c的源文件,应该用什么样子的命令行?
comment:由于自定义库跟标准库之间有相同的函数入口,所以避免multiple reference错误是相当重要的,或许应该添某个选项才行
有一个C编译器own-gcc,一个链接器own-ld,还有一套头文件跟相应的函数库(里面有些函数跟标准库函数一致)
有这么一个问题:用以上的那些东西编译一个叫hello.c的源文件,应该用什么样子的命令行?
comment:由于自定义库跟标准库之间有相同的函数入口,所以避免multiple reference错误是相当重要的,或许应该添某个选项才行
|
如果你这个“own-gcc”安装到一个单独的目录下的话,只要:
CC=own-gcc
LD=own-ld
其它没什么区别!
关于那个错误,是因为没有include 的原因。
CC=own-gcc
LD=own-ld
其它没什么区别!
关于那个错误,是因为没有include 的原因。
|
楼上有朋友说对了, 今天我也犯了同样的错误呢, 这个和TURBO C不一样。
|
我觉得怎么编译,还得问做那个工具的人,没有人知道他想的什么
|
也就是在makefile中,把所有的参数都写进去
#makefile
CC=own-gcc
$CC 参数 filename
#makefile
CC=own-gcc
$CC 参数 filename
|
我认为,如果你这个“own-gcc”的所有的东西(包括头文件)都安装到一个单独的目录,比如:/usr/local/owngcc下,那你调用owngcc时,它自然会去/usr/local/owngcc下的include目录中寻找标准头文件,而不是在/usr/include下。我装过一个gcc的cross-compiler,是这样的。关于这一点,细节我也不是很清楚,gcc的stdinc路径难道是编译进程序了?因为gcc没有任何配置文件。也期待高手的解答!
或者,如果不是这样的话,你仍然可以用-nostdinc -Ipath显式的指定include路径。
或者,如果不是这样的话,你仍然可以用-nostdinc -Ipath显式的指定include路径。
|
你要不指定系统的路径,要不使用-I指令
cc a.c -I./include
在./include下查找头文件。
cc a.c -I./include
在./include下查找头文件。
|
不会吧,c语言对于函数隐式声明只是警告。
c++才会认为这是个error.
c++才会认为这是个error.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。