Makefile关于动态库与静态库的编写技巧
2016-10-19 19:42
411 查看
#!bin/bash
#caffe header and lib path
CAFFE_HOME=/home/fan/caffe/caffe-master/distribut
aec1
e
CAFFE_LIB_PATH=$CAFFE_HOME/lib
#CAFFE_INCLUDE_PATH=/home/fan/caffe/caffe-master/include
CAFFE_INCLUDE_PATH=$CAFFE_HOME/include
#opencv header and lib path
OPENCV_HOME=/home/fan/opencv/opencv-3.0.0-alpha
OPENCV_LIB_PATH=$OPENCV_HOME/lib
OPENCV_INCLUDE_PATH=$OPENCV_HOME/include
GLOG_INCLUDE_PATH=/usr/local/include/glog
GFLAGS_INCLUDE_PATH=/usr/local/include/gflags
BOOST_INCLUDE_PATH=/usr/local/include/boost
# for lbdm header and OpenCV/OpenCV2 header path
COMMON_INCLUDE_PATH=/usr/local/include
LOCAL_LIB_PATH=/usr/local/lib/
MAIN_FUNCTION=caffe_linux_extract.cpp
echo Caffe path
echo $CAFFE_LIB_PATH
echo $CAFFE_INCLUDE_PATH
echo OpenCV path
echo $OPENCV_LIB_PATH
echo $OPENCV_INCLUDE_PATH
#sudo g++ $MAIN_FUNCTION -static -Lcaffe -I $CAFFE_INCLUDE_PATH -o test_output
sudo g++ $MAIN_FUNCTION \
-Wl,-Bstatic -lcaffe -L. \
-Wl,-Bdynamic -latlas -llapack_atlas -lcblas -lf77blas -L/usr/lib \
-Wl,-Bstatic -lglog -L/usr/local/lib \
-Wl,-Bstatic -lgflags -L/usr/local/lib \
-Wl,-Bdynamic -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect \
-lopencv_features2d -lopencv_imgcodecs -L/usr/local/lib \
-Wl,-Bdynamic -lboost_system -lboost_thread -lboost_signals -lboost_timer -L/usr/local/lib \
-Wl,-Bdynamic -lhdf5 -lhdf5_hl -lhdf5_cpp -lhdf5_hl_cpp -lhdf5_fortran -lhdf5hl_fortran -L/usr/lib/x86_64-linux-gnu \
-Wl,-Bdynamic -lprotobuf -L/usr/lib/x86_64-linux-gnu \
-lpthread \
-I $CAFFE_INCLUDE_PATH -o output
#caffe header and lib path
CAFFE_HOME=/home/fan/caffe/caffe-master/distribut
aec1
e
CAFFE_LIB_PATH=$CAFFE_HOME/lib
#CAFFE_INCLUDE_PATH=/home/fan/caffe/caffe-master/include
CAFFE_INCLUDE_PATH=$CAFFE_HOME/include
#opencv header and lib path
OPENCV_HOME=/home/fan/opencv/opencv-3.0.0-alpha
OPENCV_LIB_PATH=$OPENCV_HOME/lib
OPENCV_INCLUDE_PATH=$OPENCV_HOME/include
GLOG_INCLUDE_PATH=/usr/local/include/glog
GFLAGS_INCLUDE_PATH=/usr/local/include/gflags
BOOST_INCLUDE_PATH=/usr/local/include/boost
# for lbdm header and OpenCV/OpenCV2 header path
COMMON_INCLUDE_PATH=/usr/local/include
LOCAL_LIB_PATH=/usr/local/lib/
MAIN_FUNCTION=caffe_linux_extract.cpp
echo Caffe path
echo $CAFFE_LIB_PATH
echo $CAFFE_INCLUDE_PATH
echo OpenCV path
echo $OPENCV_LIB_PATH
echo $OPENCV_INCLUDE_PATH
#sudo g++ $MAIN_FUNCTION -static -Lcaffe -I $CAFFE_INCLUDE_PATH -o test_output
sudo g++ $MAIN_FUNCTION \
-Wl,-Bstatic -lcaffe -L. \
-Wl,-Bdynamic -latlas -llapack_atlas -lcblas -lf77blas -L/usr/lib \
-Wl,-Bstatic -lglog -L/usr/local/lib \
-Wl,-Bstatic -lgflags -L/usr/local/lib \
-Wl,-Bdynamic -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_objdetect \
-lopencv_features2d -lopencv_imgcodecs -L/usr/local/lib \
-Wl,-Bdynamic -lboost_system -lboost_thread -lboost_signals -lboost_timer -L/usr/local/lib \
-Wl,-Bdynamic -lhdf5 -lhdf5_hl -lhdf5_cpp -lhdf5_hl_cpp -lhdf5_fortran -lhdf5hl_fortran -L/usr/lib/x86_64-linux-gnu \
-Wl,-Bdynamic -lprotobuf -L/usr/lib/x86_64-linux-gnu \
-lpthread \
-I $CAFFE_INCLUDE_PATH -o output
相关文章推荐
- linux下动态库和静态库的制作、寻找、比较及相关Makefile的编写
- 通用Makefile的编写和在项目工程中使用Makefile(包括动态库、静态库的链接、整个工程联合编译)
- Linux动态库与静态库以及简单makefile的编写
- gcc编译步骤 动态库、静态库的使用、gdb调试、Makefile编写
- makefile 编写,编译动态库,编译静态库
- 关于android studio使用cmake 编写jni调用静态库、动态库的方式
- linux动态库及静态库的制作和makefile的简单编写
- Android–带有动态库、静态库、Jar包的makefile编写
- Android初学习 – 带有动态库、静态库、Jar包的makefile编写
- 关于linux静态库和动态库的分析
- 关于Linux静态库和动态库的分析
- 《架构之美》中关于编写高效Java的几个技巧
- 关于Linux静态库和动态库的分析
- 详细讲解关于Linux静态库和动态库的分析(转)
- 关于静态库与动态库【Linux 】【C】
- 关于linux中Makefile文件的编写(简单例子)
- QT 编写 静态库和动态库
- 关于linux下的共享库(动态库)和静态库
- 关于Linux静态库和动态库的分析
- 详细讲解 关于Linux静态库和动态库的分析