下载地址:https://github.com/sknown/libghttp
./configure --enable-static --prefix=/home/jiang/code/libghttp/target_x86 make && make install
出现错误x86_64-unkown-linux-gun
需要安装libtool。
sudo apt-get install libtool
需要将config.guess和config.sub这两个文件替换掉。
cp /usr/share/libtool/config/config.guess ./
cp /usr/share/libtool/config/config.sub ./
./configure --enable-static --prefix=/home/jiang/code/libghttp/target_x86 make && make install
编译完成。
#库文件复制到/usr/lib目录下 sudo cp -r /home/jiang/code/libghttp/target_x86/lib/* /usr/lib/ #编译 gcc test.c -o test -I/home/jiang/code/libghttp/target_x86/include -L/home/jiang/code/libghttp/target_x86/lib -lghttp #赋予权限 chmod 777 test #执行 ./test
#include <stdio.h> #include <ghttp.h> int main(int argc, char *argv[]) { // This is the http request object ghttp_request *request = NULL; // Allocate a new empty request object request = ghttp_request_new(); // Set the URI for the request object ghttp_set_uri(request, "http://chanpinxue.cn/about"); // Close the connection after you are done. ghttp_set_header(request, http_hdr_Connection, "close"); // Prepare the connection ghttp_prepare(request); // Process the request ghttp_process(request); // Write out the body. Note that the body of the request may not be null terminated so we have to be careful of the length. char *result = ghttp_get_body(request); printf("%s\n", result); //fwrite(ghttp_get_body(request), ghttp_get_body_len(request), 1, stdout); // Destroy the request. This closes any file descriptors that may be open and will free any memory associated with the request. ghttp_request_destroy(request); return 0; }
同理 生成 arm 平台 lib的编译方法:
#在源码目录配置编译: ./configure --build=i686 --host=arm-linux-gnueabihf --enable-static --prefix=/home/jiang/code/libghttp/target_arm make && make install
其他:
1、Windows中静态库是以 .lib 为后缀的文件,动态库是以 .dll 为后缀的文件。
2、Linux中静态库是以 .a 为后缀的文件,动态库是以 .so为后缀的文件。