法2:将头文件拷贝到 /usr/local/include中
相当于VS中添加包含路径。
二、添加依赖库
法1,编译阶段,g++编译器编译:
-L path –lcaffe(path为附加库目录路径;-l指定附加依赖项,比如-lcaffe表示附加libcaffe.so动态库文件)。
执行阶段,在工作目录或环境变量中搜索dll文件:
添加环境变量:
2.1 /etc/ld.so.conf 文件中方法:
添加库目录,使其成为共享库:
2.1.1、 打开文件:sudo gedit /etc/ld.so.conf
2.1.2、在文件中添加路径(如libnnpack.so的路径)
2.1.2、使其生效:sudo ldconfig
2.2 export方法,参考:http://blog.csdn.net/xzzppp/article/details/53305120
VS中添加附加库目录路径和附加依赖项,分别如下图所示:
法2,在编译阶段直接指定: path/libcaffe.so(path为附加库目录路径,libcaffe.so为动态库,在执行阶段可以直接运行)
法3,, Linux动态库的默认搜索路径是/lib和/usr/lib,将动态库拷贝到这两个文件夹下面。
抄袭这篇文章:
https://www.linuxidc.com/Linux/2019-03/157703.htm
Linux下正常的编译安装/卸载
源码的安装一般由3个步骤组成:
配置(configure)
编译(make)
安装(make install)。
configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。
其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
使用--prefix选项的另一个好处是 方便卸载软件或移植软件
当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载干净;
移植软件只需拷贝整个目录到另外一个机器即可(相同的 *** 作系统下)
当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是Makefile文件有uninstall命令。
make install PREFIX=path
这里PREFIX必须大写,其实绝大部分情况下 make install 都不能再指定 PREFIX 了,因为大部分程序都会 configure 时得到的 prefix 写入 config.h,然后在编译时编译到可执行文件内部,以便在执行时读取资源文件等。
这样在编译完毕后,就不能再修改 prefix 了。只有运行时不需要资源文件的小工具,才可能在安装的时候随意选择 PREFIX,或者具有 loader 的大程序,在执行时通过 loader 传入路径……
关于卸载
如果没有配置--prefix选项,源码包也没有提供make uninstall,则可以通过以下方式可以完整卸载:
一个临时目录重新安装一遍,如:
$ ./configure --prefix=/tmp/to_remove &&make install
然后遍历/tmp/to_remove的文件,删除对应安装位置的文件即可(因为/tmp/to_remove里的目录结构就是没有配置--prefix选项时的目录结构)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)