caffe日常学习之:编译examples中的cpp文件描述文件——makefile

TARGET    :=caffe_test

CAFFE_DIR    :=/home/kellygod/caffe

CAFFE_INCLUDE    :=$(CAFFE_DIR)/include

CAFFE_BUILD    :=$(CAFFE_DIR)/build

CAFFE_BUILD_LIB    := $(CAFFE_BUILD)/lib

CAFFE_BUILD_SRC    := $(CAFFE_BUILD)/src

CUDA_PATH :=/usr/local/cuda-8.0

CUDA_INCLUDE:=$(CUDA_PATH)/include

CUDA_LIB :=$(CUDA_PATH)/lib64

USR_INCLUDE :=/usr/include

GLOG_INCLUDE :=$(USR_INCLUDE)/glog

LFLAGS    := -pthread -lnsl -lX11

LFLAGS    += -lcaffe -lgflags -lprotobuf     -lboost_system -lboost_filesystem     -lboost_thread -lboost_coroutine -lboost_context -lboost_regex     -lm -lleveldb -lsnappy -llmdb -lglog     -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs -lopencv_objdetect -lopencv_flann     -lstdc++ -lcblas -latlas

LFLAGS += -Wl,-rpath=$(CAFFE_BUILD_LIB)

CFLAGS := -g -I . -I $(CAFFE_INCLUDE) -I $(CAFFE_DIR)/src     -I $(CAFFE_BUILD_SRC) -I ./     

CFLAGS += -I $(GLOG_INCLUDE) -I $(USR_INCLUDE) -I$(CUDA_INCLUDE)

CFLAGS += -Wall -DUSE_OPENCV -DONLY_CPU

CC := g++  

SRC += src/classification.cpp  

$(TARGET):$(SRC)
    $(CC) -g -o $(TARGET) -O0 -std=c++11 $(SRC) $(CFLAGS) $(LFLAGS) -L$(CAFFE_BUILD_LIB) -Wno-sign-compare  

clean :
    @rm -f $(TARGET)  

目录结构:

将编译好的caffe动态库抽出来,在$(caffe_root)/build 下面 makefile没有启用GPU,gcc命令需要加-g否则无法进入断点

时间: 2024-08-02 21:08:58

caffe日常学习之:编译examples中的cpp文件描述文件——makefile的相关文章

MVC4 学习笔记 之 URL中存在编译的空格 20%20%

/Config/Edit/QQCC%20%20%20%20%20%20%20 原因是: 通过EF直接添加了空格? NO 是因为你的数据库字段设计问题,因为你当然设计如>:sID nchar(10) 那你一定想输入10个字符,但实际你只输入了必个,所以后面数据自动帮你补空了. 从EF数据库取出数据,在绑定的时候为安全,编码了,所以显示%20,代表一个空格. MVC4 学习笔记 之 URL中存在编译的空格 20%20%,布布扣,bubuko.com

日常学习随笔-用链表的形式实现普通二叉树的新增、查找、遍历(前、中、后序)等基础功能(侧重源码+说明)

一.二叉树 1.二叉树的概念 二叉树是每个节点最多有两个子树的树结构.通常子树被称作"左子树"(left subtree)和"右子树"(right subtree),其次序不能任意颠倒. 2.性质 (1)若二叉树的层次从0开始,则在二叉树的第i层至多有2^i个结点(i>=0): (2)高度为k的二叉树最多有2^(k+1) - 1个结点(k>=-1). (空树的高度为-1): (3)对任何一棵二叉树,如果其叶子结点(度为0)数为m, 度为2的结点数为n,

Caffe 深度学习框架上手教程

本文来源:http://suanfazu.com/t/caffe/281 本文的主要目的保存一个链接,建议阅读原文. Caffe(Convolutional Architecture for Fast Feature Embedding)是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作. Caffe是纯粹的C++/CUDA架构,支持命令行.Python和MATLAB接口:可以在CPU和GPU直接无缝切换: Caffe::set_mode(

caffe windows学习:第一个测试程序

caffe windows编译成功后,就可以开始进行测试了.如果还没有编译成功的,请参考:caffe windows 学习第一步:编译和安装(vs2012+win 64) 一般第一个测试都是建议对手写字体minist进行识别.这个测试放在根目录下的 .\examples\mnist\ 文件夹内. 1.下载数据.程序本身不带测试数据,需要去下载,测试数据为leveldb格式.你可以直接双击运行“get_mnist_leveldb.bat”  这个脚本自动下载数据,但一般都不成功,可能里面的网址被墙

caffe日常坑系列之:undefined reference to symbol '_ZN2cv6String10deallocateEv'

在使用caffe库编译C++时出现的 解决如下: /usr/bin/ld: /tmp/ccA5JGRP.o: undefined reference to symbol '_ZN2cv6String10deallocateEv'//usr/local/lib/libopencv_core.so.3.2: error adding symbols: DSO missing from command line解决:sudo apt-get autoremove libopencv-dev caffe

Android:日常学习笔记(8)———探究UI开发(5)

Android:日常学习笔记(8)---探究UI开发(5) ListView控件的使用 ListView的简单用法 public class MainActivity extends AppCompatActivity { private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","

Android:日常学习笔记(10)———使用LitePal操作数据库

Android:日常学习笔记(10)---使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式,将平时开发时最常用的一些数据库功能进行了封装,使得开发者不用编写一行SQL语句就可以完成各种建表.増删改查的操作.并且LitePal很"轻",jar包大小不到100k,而且近乎零配置,这一点和Hibernate这类的框架有很大区别.目前LitePal的源码已经托管到了GitHub上. 关

Android:日常学习笔记(6)——探究活动(3)

Android:日常学习笔记(6)--探究活动(3) 活动的生命周期 返回栈 Android中的活动是可以叠加的,我们每启动一个新活动,就会覆盖在原来的活动上,点击Back以后销毁最上面的活动,下面的活动就会重新显现出来.Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合. 默认情况下,每当我们启动一个新的活动,他会在返回栈中入栈,并处于栈顶位置.而每当我们按下Back或者Finish以后,处于栈顶位置的活动会出栈. 活动的状态 运行状态(栈顶的元素).暂停

caffe 在window下编译(windows7, cuda8.0,matlab接口编译)

1. 环境:Windows7,Cuda8.0,显卡GTX1080,Matlab2016a,VS2013   (ps:老板说服务器要装windows系统,没办法,又要折腾一番) 2.下载caffe 包:https://github.com/BVLC/caffe/tree/windows 按照Github上的命令行就行: 这里的Projects是自己在本地新建的文件夹,随便放在哪里,如果git没有安装的话,先安装git,百度git即可. 执行前3个命令之后,就把caffe包下载下来了. 在运行bui