Makefile使用库】的更多相关文章

这篇文章演示了Makefile使用mysqlpp库和lua库的写法. test.cpp: #include <iostream> #include <stdint.h> #include <mysql++.h> extern "C"{ #include <lua.h> #include <lualib.h> #include <lauxlib.h> }; int main() { mysqlpp::Connecti…
函数库文件也就是对 Object 文件(程序编译的中间文件)的打包文件.在 Unix 下,一般是由命令"ar"来完成打包工作. 一.函数库文件的成员 一个函数库文件由多个文件组成.你可以以如下格式指定函数库文件及其组成: archive(member) 这个不是一个命令,而一个目标和依赖的定义.一般来说,这种用法基本上就是为了"ar"命令来服务的.如: foolib(hack.o) : hack.o ar cr foolib hack.o 如果要指定多个 membe…
funs.h: #ifndef __FUNS_H__ #define __FUNS_H__ void fun1(); #endif funs.c #include "funs.h" #include <stdio.h> void fun1() { printf("this is fun1"); } Makefile CC = gcc GXX = g++ LD = ld AR = ar CFLAGS = -g -O2 -Wall -fpic LDFLAGS…
编译C++文件,特别是多文件的时候,经常要找模板,这里为了后面方便,就自己做了一个模板. makefile模板:Makefile # Object files to either reference or create #OBJECTS = Proj2.o Blackjack.o Deck.o Card.o Hand.o Player.o OBJECTS = phash.o # The executable file that will be created at the end EXEC =…
一.C代码 静态库 四个.h.c文件 add.h #ifndef ADD_H #define ADD_H int add(int a,int b); #endif add.c #include <stdio.h> int add(int a,int b) { printf("%d %d\n",a,b); return (a + b); } decrease.h #ifndef DECREASE_H #define DECREASE_H int decrease(int a,…
Makefile的学习笔记 标签: makefilewildcard扩展includeshellfile 2012-01-03 00:07 9586人阅读 评论(2) 收藏 举报  分类: Linux(16)  版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   1    Makefile GNU make的工作分为两个阶段.在第一阶段,make读取makefile文件.内置变量及其值.隐含规则和具体规则.构造所有目标的依赖关系以及所有目标各自的依赖等.在第二阶段,m…
今天编译出现ld: 0706-006 Cannot find or open library file: -l xerces-c_static,ld:open(): A file or directory in the path name does not exist.这个熟悉得不能再 熟悉的链接错误. 很简单,编译器打开xerces-c_static.a失败.出现这个错误的原因往往是因为目录库文件xerces-c_static.a没被编译出来或不存在. 于是第一反应,看一下xerces-c_s…
最近一个iOS项目需要使用一些Linux下面的开源c库,说是Linux的其实是跨平台的,各种Unix系统都有支持.理论上iOS来自MacOS,而MacOS其实是一种兼容的Unix系统,所以这些库应该也可以在iOS上跑.当然了这些库并没有直接操作系统硬件的. 目的是在iOS中使用开源c库,那么第一步得能在Linux或Mac上编译他们吧,所以需要点一点Linux 编译安装c库的技能点. 最基本的就是gcc和make使用,但实际上直接提供Makefile的库很少,因为要跨平台,要处理各种依赖环境的不同…
==>windows 下方法: 1.方法一:VS工程中中直接添加 1.1在VS的属性->常规->附加库目录,添上文件夹的路径:例如:lib/x64: 1.2输入的附加依赖项,添加上库的名字,例如:dmapi.lib 1.3 对用到该库的代码进行,宏包含,例如: #ifdef LOG_XY ... #endif 1.4 当你在工程编译时,在c/c++->预处理器->预处理器定义,中未定义LOG_XY 时,就不会依赖库dmapi.lib 2.方法二:在代码中添加 #ifdef _…
gcc编译过程 预处理,gcc -E,.c->.i 展开宏和头文件,替换条件编译,删除注释.空白和空行 编译, gcc -S,.i -> .s 检查语法规范 [消耗时间和系统资源最多] 汇编,gcc -c, .s->.o将汇编指令编译成汇编指令 链接, gcc, .o->.out,数据段合并,数据地址回填,连接成可执行文件 gcc -E aa.c -o aa.i -o 用来指定生产的文件名 编译参数 指定头文件 当头文件和主文件不在一个目录时. # I 指定头文件的目录 $ gcc…