[标准C+GTK+2.0+libxml2]写好代码后,怎样写makefile?

散人的纪念 2014-11-10 10:50:06
我最近看了看<跟我一起写makefile>
不能说全部看明白了,但是我也会写一点简单的makefile了,但是也只是在写标准C程序,也就是说带了第三方库我就不会写了
,我说个例子:
输入两整数,计算两数的和
main.c //入口
#include<stdio.h>
#include"sum.h"
int main( void ){
int a = 0;
int b = 0;
puts("输入两个整数:");
scanf("%d %d",&a,&b);
printf("%d + %d = %d\n",a,b,sum(a,b));
return 0;
}

sum.h//函数声明
#ifndef _SUM_H_
#define _SUM_H_

int sum( int a , int b );

#endif//_SUM_H_

sum.c//函数实现
#include"sum.h"

int sum( int a , int b ){
return a + b;
}


makefile//
CC=gcc
CCFLAGS=-c -Wall
OBJS=test.o sum.o

test:${OBJS}
test.o:test.c sum.h
sum.o:sum.c sum.h

.PHONY:clean-all clean-objs clean-app rebuild
clean-all:clean-objs clean-app
clean-objs:
-rm ${OBJS}
clean-app:
-rm test
rebuild: clean-all
make


问题1.在C语言或者C++程序中,使用到了第三方库,应该怎么写GCC命令?
问题2.如果我用了libxml2和gtk+2.0,那么我的makefile应该怎么写?
问题3.怎样写那种开源的程序,比如apache 吧,我只需要
./config
make
make install
就可以安装好软件了
这样的makefile应该怎么写?
如果写例子的话,libxml2有没有不要都可以
谢谢
...全文
213 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
杨六 2014-11-11
  • 打赏
  • 举报
回复
以使用触发学习更有效率了,makefile基本的规则或大致的意思能明白就足够了。很多感觉也不一定用得上,小项目还是以功能为 主 之前项目需要写了代码,频繁手动编译比较耗时,这时就可以考虑makefile; 了解了基本的原则就知道makefile如何写了 建议楼主可以先学习下手动编译静态库,动态库 链接等,只有掌握了这些基础的步骤,再用makefile只是用脚本来实现方法的问题 实现方法中的一些规则可以再不断优化
fly 100% 2014-11-11
  • 打赏
  • 举报
回复
makefile 还是从简单开始 开始可以找个make改 里面也可以加打印 echo的
散人的纪念 2014-11-11
  • 打赏
  • 举报
回复
引用 1 楼 zhxianbin 的回复:
1. -L<path/to/lib> -lxxx (so 文件是 libxxx.so 形式) 2. libxml2 就是 上面了,gtk 参加 :http://resources.esri.com/help/9.3/arcgisengine/com_cpp/Cpp/reference/Makefile.LinuxGTK.htm 3. 这种Makefile 不是写的,是执行 ./configure 后生成的,configure 是个脚本,怎么写我也还没学过
谢谢,对我很有帮助
散人的纪念 2014-11-11
  • 打赏
  • 举报
回复
引用 3 楼 yangwu070710 的回复:
以使用触发学习更有效率了,makefile基本的规则或大致的意思能明白就足够了。很多感觉也不一定用得上,小项目还是以功能为 主 之前项目需要写了代码,频繁手动编译比较耗时,这时就可以考虑makefile; 了解了基本的原则就知道makefile如何写了 建议楼主可以先学习下手动编译静态库,动态库 链接等,只有掌握了这些基础的步骤,再用makefile只是用脚本来实现方法的问题 实现方法中的一些规则可以再不断优化
那么如果我想开发GTK+程序,然后我只要我想要的效果就是 ./configure && make && make install 就可以安装,学习的顺序是什么?
zhxianbin 2014-11-10
  • 打赏
  • 举报
回复
1. -L<path/to/lib> -lxxx (so 文件是 libxxx.so 形式) 2. libxml2 就是 上面了,gtk 参加 :http://resources.esri.com/help/9.3/arcgisengine/com_cpp/Cpp/reference/Makefile.LinuxGTK.htm 3. 这种Makefile 不是写的,是执行 ./configure 后生成的,configure 是个脚本,怎么写我也还没学过

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧