autoconf 添加三方库(libcurl)简单试用
1. 参考项目
https://github.com/rongfengliang/autoconf-project
a. 项目结构
├── Jenkinsfile # jenkins 构建,实际使用可选
├── Makefile.am
├── README.md
├── autogen.sh # 生成配置的shell
├── configure.ac # configure 配置说明
├── src
│ ├── Makefile.am # makefile 构建说明
│ ├── main.c
│ ├── userservice.c
│ ├── userservice.h
b. configure.ac
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT([dalongdemoapp], [0.0.1], [dalong@qq.com])
AC_CONFIG_SRCDIR([src/main.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE
# Checks for programs.
AC_PROG_CXX
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_AWK
AC_PROG_MKDIR_P
# Checks for libraries.
AC_CHECK_LIB([curl]) # libcurl check
# Checks for header files.
AC_CHECK_HEADERS([string.h])
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_CONFIG_FILES([Makefile
src/Makefile])
AC_OUTPUT
c. Makefile.am
AUTOMAKE_OPTIONS=foreign
SUBDIRS=src
d. src/Makefile.am
bin_PROGRAMS=dalongdemoapp
dalongdemoapp_SOURCES=main.c userservice.c
include_HEADERS=userservice.h
dalongdemoapp_LDADD=-lcurl
备注:dalongdemoapp_LDADD=-lcurl 获取方式
可以使用pkg-confg
命令如下:
pkg-config --libs --cflags libcurl
e. main.c userservice.c userservice.h
主要是一个简单的demo 以及一个使用libcurl 获取博客园博客信息的
主要方法userservice.h/printcontent
./autogen.sh
./configure
make
src/dalongdemoapp
备注: 实际系统需要安装libcurl 对于centos如下:
yum install -y libcurl-devel

https://github.com/rongfengliang/autoconf-project
https://www.jianshu.com/p/2f5e586c3402
https://blog.csdn.net/luotuo44/article/details/24836901
autoconf 添加三方库(libcurl)简单试用的更多相关文章
- iOS——Xcode中添加第三方库
一.只有.h和.a文件的库 1.向项目中添加三方库文件 如果添加的第三方库只有.h和.a文件,直接把文件夹拖进项目下面,这时会弹出下面的提示框,一定要勾选下面选择的选项: 这里要注意,在Add to ...
- 网络请求三方库——OkHttp
我们知道在Android开发中是可以直接使用现成的API进行网络请求的,就是使用 HttpClient 和 HttpURLConnention ,而Android 4.4 之后 HttpClient ...
- iOS:iOS开发非常全的三方库、插件等等
iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...
- qt添加cef库嵌入web [转]
qt cef嵌入web 原文http://blog.sina.com.cn/s/blog_9e59cf590102vnfc.html 最近项目需要,研究了下libcef库. Cef(Chromium ...
- iOS - .a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)
一.概念篇 什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetworking ...
- 在VS中添加lib库的三种方法
注意: 1.每种方法也要复制相应的DLL文件到相应目录,或者设定DLL目录的位置,具体方法为:"Properties" -> "Configuration Prop ...
- ld: framework not found AGCommon 关于三方库到入 问题解决方案!!
ld: framework not found AGCommon clang:error:linker command failed with exit code 1 (use -v to see ...
- 在ASP.NET 5中如何方便的添加前端库
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:ASP.NET 5和之前的ASP.NET版本有很大的不同,其中之一就是对前端库的管理不再使用Nuget,而 ...
- AndroidStudio权威教程 AS添加第三方库的6种方式(Jar module so等)
点击项目设置按钮 依次选择 App > Dependencies 1. 直接搜索法 依次选择 + > Library dependency 这里的搜索一定要是全名的,不然搜不到哦 下图所表 ...
随机推荐
- Selenium入门练习(一)
自主学习---上海野生动物园之登录.订票.退票 Create了一个TestNG可以查看执行结果: package FristTestNG; import java.sql.Driver; import ...
- 1-18 编译安装内核支持ntfs文件系统
大纲: 源码编译Linux内核 使用Linux内核模块 实战:编译一个NTFS内核模块,实现Linux挂载NTFS文件系统并实现读写功能 =============================== ...
- 1-19-1 RHEL6启动原理和故障排除
大纲: 一.RHEL6系统启动原理 BIOS--->mbr--->bootloader--->内核--->init--->/etc/rc.d/rc.sysinit---& ...
- 009——数组(九) each list array_map array_walk array_walk_recursive
<?php /** * 9 数组 each list array_map array_walk array_walk_recursive */ //each() 返回数组中的键名和键值生成新数组 ...
- C++设计模式之-模板模式
模板方法模式 在GOF的<设计模式:可复用面向对象软件的基础>一书中对模板方法模式是这样说的:定义一个操作中的算法骨架,而将一些步骤延迟到子类中.TemplateMethod使得子类可以不 ...
- 【LeetCode 88_数组】Merge Sorted Array
void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { ; ; ; &&a ...
- Confluence 安装
一.事前准备 1.jdk安装:5.8.10的jdk至少是7,其中7中还有很多官网是不建议的,这儿选中jdk-7u79 二.安装Confluence 双击atlassian-confluence-5.8 ...
- 启动Windows防火墙提示“0x8007042c"
win8.1 启动防火墙是报错:启动Windows防火墙提示“0x8007042c" 一.检查服务 1,右击开始->运行->输入“services.msc” 打开服务 在框中找到 ...
- 【HEVC学习与研究】29、解码第一个Coding Quadtree结构(1)
ctu tree属性 http://blog.csdn.net/shaqoneal/article/details/26088817
- 看一遍就懂,详解java多线程——volatile
多线程一直以来都是面试必考点,而volatile.synchronized也是必问点,这里我试图用容易理解的方式来解释一下volatile. 来看一下它的最大特点和作用: 一 使变量在多个线程间可见 ...