将leveldb库加入自己的工程目录
来源:互联网 发布:杭州博远软件 编辑:程序博客网 时间:2024/06/07 22:55
工程目录
—MyProject
———Include
——————leveldb
—————————-*.h //leveldb库的所有头文件
———Libs
————-*.a
———Src
————-*.cpp
———Makefile
Makefile
以下makefile由网上万能makefile修改而来。
EXECUTABLE := magic#可执行文件名LIBDIR := ./Libs#静态库目录LIBS := libleveldb.a#静态库文件名INCLUDES := ./Include/#头文件目录SRCDIR := ./Src#除了当前目录外,其他源文件目录###############= := ?= += ################ := 像是C里的赋值; = 像是C里的引用#example1#A := foo#B := $(A)#A := bar#这时B的值仍为foo#example2#A = foo#B = $(A)#A = bar#这时B的值为bar#make会将整个makefile展开后,再决定变量的值,也就是说变量的值将会是整个makefile中最后被指定的值。#########################################CC := g++CFLAGS := -g -Wall -o3CPPFLAGS := $(CFLAGS)CPPFLAGS += $(addprefix -I,$(INCLUDES))###########addprefix######################字面意思,添加前缀#为$(INCLUDES)的所有路径加上前缀 -I##########################################CPPFLAGS += -MMD #生成依赖文件*.dRM := rm -f########wildcard函数列举当前目录中扩展名为*.cpp的所有文件SRCS := $(wildcard *.cpp) $(wildcard $(addsuffix /*.cpp, $(SRCDIR)))#######OBJS := $(patsubst %.cpp,%.o,$(SRCS))###########patsubst 匹配替代的意思,将SRCS中找到的所有.cpp结尾的文件,然后把所有的.cpp换成.o#DEPS := $(patsubst %.o,%.d,$(OBJS))##############隐含规则####################$(EXECUTABLE)依赖于$(OBJS),但是makefile中没有指明$(OBJS)依赖谁,也没有命令生成他们#这时make的隐含规则开始起作用;针对$(OBJS)中的每个目标,make自动调用#$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@#生成*.o文件#$< 表示依赖文件列表的第一个文件名#$@ 表示目标文件名#########################################.PHONY : all deps objs clean veryclean rebuild infoall : $(EXECUTABLE)deps : $(DEPS)objs : $(OBJS)clean : @$(RM) $(OBJS)$(EXECUTABLE) : $(OBJS) $(CC) -o $(EXECUTABLE) $(OBJS) $(addprefix $(LIBDIR)/,$(LIBS)) -lpthreadinfo : @echo $(SRCS) @echo $(OBJS)
测试
Main.cpp
#include <assert.h> #include <iostream> #include "leveldb/db.h" int main (int argc,char * argv[]) { leveldb::DB* db; leveldb::Options options; options.create_if_missing = true; std::string dbpath = "testdb"; leveldb::Status status = leveldb::DB::Open (options, dbpath, &db); assert (status.ok ()); std::string key = "test"; std::string val = "test_value"; status = db->Put (leveldb::WriteOptions (), key, val); val.clear (); status = db->Get (leveldb::ReadOptions (), key, &val); std::cout << key << ": " << val << std::endl; return 0;}
阅读全文
0 0
- 将leveldb库加入自己的工程目录
- 将 cygwin 加入到自己的工程
- 如何将AD原有库导入自己的工程使用
- 如何在patform中加入自己的工程
- 将汇编加入Android工程
- 将含有makefile文件的源码加入Eclipse工程
- 将含有makefile文件的源码加入Eclipse工程
- 将含有makefile文件的源码加入Eclipse工程
- 在openwrt文件系统中加入自己的目录文件
- 将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 【Eclipse】eclipse如何将User Libraries中建立的文件夹目录引入到自己的工程中使用
- 【Eclipse】eclipse如何将User Libraries中建立的文件夹目录引入到自己的工程中使用
- AltiumDesigner03——将别人库中的元件加入自己的库中
- 将自己写的程序加入到PlatForm中
- 将google加入到自己的网站中
- android 将自己的程序加入到系统调用列表
- Lua:如何将自己写的模块加入环境中
- Rails: freeze 将源码加入工程
- ubuntn的安装
- C++ primer 薄片系列之重载运算符
- 第六章第一题
- ##存储设备的管理
- window安装git图文详解—GIT入门篇
- 将leveldb库加入自己的工程目录
- 学习感悟
- 208. Implement Trie (Prefix Tree)
- 利用SolrJ操作solr API
- BZOJ4300 绝世好题 【动态规划】
- 利用SolrJ操作solr API
- 好题收集(2)
- 数组
- Android studio 引入第三方类库