当前位置: 技术问答>linux和unix
菜鸟问个低级问题,linux下创建工程用gcc编译的
来源: 互联网 发布时间:2016-11-09
本文导语: 刚弄linux几天,我现在建了个工程(就是自己在一个目录下建立了folder1,folder2,include文件夹和main.c,然后在folder1下新建file1.c,在folder2下新建file2.c,在include下新建file1.,file2.h) 在file1.c和file2.c中分别定义函数fun1...
刚弄linux几天,我现在建了个工程(就是自己在一个目录下建立了folder1,folder2,include文件夹和main.c,然后在folder1下新建file1.c,在folder2下新建file2.c,在include下新建file1.,file2.h)
在file1.c和file2.c中分别定义函数fun1,fun2,在file1.h和file2.h中是fun1和fun2的声明,
我想在main.c中调用fun1和fun2实现功能
可以用gcc编译时候,总是提示undefined reference to“fun1”和undefined reference to“fun2”
我知道问题很低级,请高手们不要笑话我,并且不吝赐教,感激涕零。
在file1.c和file2.c中分别定义函数fun1,fun2,在file1.h和file2.h中是fun1和fun2的声明,
我想在main.c中调用fun1和fun2实现功能
可以用gcc编译时候,总是提示undefined reference to“fun1”和undefined reference to“fun2”
我知道问题很低级,请高手们不要笑话我,并且不吝赐教,感激涕零。
|
gcc -Iinclude main.c file1.c file2.c
|
linux下工程文件的编译通常借助于makefile,其中定义目标与源的依赖关系,进而实现自动编译
工程的阅读,我通常用source insight
编译的时候,再上传到linux主机,make
工程的阅读,我通常用source insight
编译的时候,再上传到linux主机,make
|
楼主的管理方法没问题,将一些有联系的文件放到一起,将头文件与实现文件分开,我也是这样。
不过我使用makefile来管理的。
编程时要注意头文件路径、全局变量的处理:定义、声明等等。
不过我使用makefile来管理的。
编程时要注意头文件路径、全局变量的处理:定义、声明等等。
|
gcc编译的时候包含绝对路径,要让gcc找得到你函数和文件的位置就可以了。