- lib - libxxx.a - include - xxx.h 每个工具链都有对应的include/lib目录,用于放置一些系统库和头文件,例如libc...自动探测和编译 如果我们的交叉编译工具链是上文的结构,xmake会自动检测识别这个sdk的结构,提取里面的cross,以及include/lib路径位置,用户通常不需要做额外的参数设置,只需要配置好sdk...设置头文件和库搜索目录 如果sdk里面还有额外的其他include/lib目录不在标准的结构中,导致交叉编译找不到库和头文件,那么我们可以通过--includedirs和--linkdirs来追加搜索路径...,然后通过--links添加额外的链接库。...xxx/lib --links=pthread 注:如果要指定多个搜索目录,可以通过:或者;来分割,也就是不同主机平台的路径分隔符,linux/macos下用:,win下用;。
-I:指定include包含文件的搜索目录 -o:输出成指定文件名,如果缺省则输出位a.out -L:搜索库的路径 -l:指定程序要链接的库 -w:忽略所有警告 -shared:指定生成动态链接库...放在/lib和/usr/lib和/usr/local/lib里的库直接用-l参数就能链接了,但如果库文件没放在这三个目录里,而是放在其他目录里,这时我们只用-l参数的话,链接还是会出错,出错信息大概是:...gcc默认会在程序当前目录、/lib、/usr/lib和/usr/local/lib下找对应的库 -I参数 -include和-I参数 在你是用#include '***.h'的时候,gcc/g+...而用""号包含的头文件会首先搜索当前的工作目录,之后的搜索路径才是和号包含的头文件所搜索的路径一样的路径。...Linux下的标准头文件路径为/usr/include和/usr/local/include ? 2.png ?
/autogen.sh # 第⼆步执⾏configure,有两种执⾏⽅式,任选其⼀即可,如下: # 1、protobuf默认安装在 /usr/local ⽬录,lib、bin都是分散的 ....如果选择了第⼆种执⾏⽅式,即修改了安装⽬录,那么还需要在/etc/profile中添加⼀些内容: sudo vim /etc/profile # 添加内容如下: #(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径...export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/ #(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径...export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/ #执⾏程序搜索路径 export PATH=$PATH:/usr/local/protobuf.../bin/ #c程序头⽂件搜索路径 export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/ #c++程序头⽂件搜索路径 export
一些不用配置prefix 的 make install 后会把 头文件和库文件分别放在 系统的include 和 lib 目录下。.../usr/local/include/opencv2 LIBS += /usr/local/lib/libopencv_video.so \ /usr/local/lib/libopencv_ts.so... /usr/local/lib/libopencv_calib3d.so include路径就不用解释了,按照共享库的命名惯例,每个共享库有三个文件名:real name、soname和linker...表示在当前目录找。-lstack 告诉编译器要链接libstack 库,-I选项告诉编译器去哪里找头文件。 编译器默认会找的目录可以用 gcc -print-search-dirs 选项查看。...其中的libraries 就是库文件的搜索路径列表,各路径之间用:号隔开。
/configure make make check make install 我本机上cenos 64位环境,这里全都是选择默认路径安装 user/local/bin user/local/lib..., user/local/include 都是系统默认路径之一,到这已经都安装好,但是在gcc 编译还是会找不到protobuf.so库文件,原因因为在usr/local/lib,下的protobuf.so...不能被gcc找到 俩种解决方案,主要就是环境变量的设置问题 export LD_LIBRARY_PATH=/usr/local/lib 添加这句就可以通过了gcc编译,不过只是临时起效,重启后不在生效...在/etc/ld.so.conf 文件里面添加路径 /usr/local/lib ,因为linux系统运行库会读取这里的目录寻找so,之后记得ldconfig一下噢 在给出搜寻资料解答如下...LD_LIBRARY_PATH 这个环境变量是大家最为熟悉的,它告诉loader:在哪些目录中可以找到共享库。可以设置多个搜索目录,这些目录之间用冒号分隔开。
/bootstrap.sh 然后进行编译安装,默认安装路径是/usr/local。...所以,相应的头文件在/usr/local/include/boost目录中,库文件在/usr/local/lib目录中。 sudo ..../b2 install 最后,添加lib库自动搜索路径到/etc/ld.so.conf,然后ldconfig使设置生效。...具体操作为:运行命令sudo vim /etc/ld.so.conf,将”include /usr/local/lib”这句话添加进去,并保存退出vim编辑器。再运行ldconfig命令使之生效。...还是上次的代码,编译命令如下:g++ file_utiles.cpp --std=c++11 -I/usr/local/include -L/usr/local/lib -lboost_system -
其它设置 GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。...由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。...其它设置 GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。...由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。...由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。
cmake 添加头文件目录,链接动态、静态库 cmake 添加头文件目录,链接动态、静态库 1. 添加头文件目录INCLUDE_DIRECTORIES 2....添加需要链接的库文件目录LINK_DIRECTORIES 3. 查找库所在目录FIND_LIBRARY 4. 添加需要链接的库文件路径LINK_LIBRARIES 5....env目录,而不是常见的/usr/、/usr/local等目录,使用cmake进行编译时需要注意头文件和库文件的目录的设置。...它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用。 include_directories(../../.....(“/home/server/third/lib/libcommon.a”) # 下面的例子,只有库名,cmake会自动去所包含的目录搜索link_libraries(iconv)# 传入变量link_libraries
设置gcc各版本的优先级,优先级最高的为系统默认版本,可以用下述命令显示其优先级: sudo update-alternatives --display gcc 设置默认的g++也是如此: sudo...配置可执行文件及库路径 安装完成后,需要为CUDA 10.1配置环境。...首先打开家目录下的.bashrc文件: gedit ~/.bashrc 在文件的末尾添加如下内容: export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH..../ 将解压出的 cuda/include/cudnn.h文件复制到/usr/local/cuda/include文件夹 cuda/lib64/下所有文件复制到/usr/local/cuda/lib64...文件夹 为上述文件添加读取和执行权限: sudo chmod 755 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn* 安装完毕
设置gcc各版本的优先级,优先级最高的为系统默认版本,可以用下述命令显示其优先级: sudo update-alternatives --display gcc 设置默认的g++也是如此: sudo...配置可执行文件及库路径 安装完成后,需要为CUDA 10.1配置环境。...首先打开家目录下的.bashrc文件: gedit ~/.bashrc 在文件的末尾添加如下内容: export PATH=/usr/local/cuda-10.1/bin${PATH:+:${PATH..../ 将解压出的 cuda/include/cudnn.h文件复制到/usr/local/cuda/include文件夹 cuda/lib64/下所有文件复制到/usr/local/cuda/lib64...文件夹 为上述文件添加读取和执行权限: sudo chmod 755 /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
CMAKE_BUILD_TYPE=RELEASE表示release版本 CMAKE_INSTALL_PREFIX=/usr/local表示安装的目录,其中包含include等头文件...1 配置lib库路径 配置lib库是为了能让编译你自己写的c++代码的时候能够找到所包含的opencv模块的动态库或者静态库,其中编译生成的动态库在这个文件夹下:/usr/local/lib.../ 打开文件 sudo gedit /etc/ld.so.conf.d/opencv.conf 添加库目录 /usr/local/lib 保存后执行下面命令使之生效.../find_obj1 3 用g++编译自己的代码 g++_opencv# g++ cat.cpp -I/usr/local/include/opencv -I/usr/local.../include -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -o cat 其中-I表示include的目录
其它设置 GCC 4.1.2的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在 lib下、头文件在include下等。...由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。...首先,查看原来的gcc所在的路径: % which gcc 在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。...1) 7.2 库路径的设置 将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,例如,如果GCC 4.1.2安装在/usr/local/gcc-4.1.2目录下,在RH Linux...下可以直接在命令行上执行 % export LD_LIBRARY_PATH=/usr/local/gcc-4.1.2/lib 最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了,在文件$HOME
I指定项目相对于编译器工作目录的相对路径或者绝对路径。...即上面在使用g++编译的时候使用-Isrc来指明相对于编译器工作目录的搜索目录。 还有一个需知就是:使用include包含头文件,使用相对路径时,相对的目录是编译器的工作目录。...③再搜索g++的环境变量CPLUS_INCLUDE_PATH(gcc使用的是C_INCLUDE_PATH) ④最后搜索g++的内定目录 /usr/include /usr/local/include...(2)include系统头文件或标准库头文件,如#include ①先搜索-I指定的目录 ②然后搜索g++的环境变量CPLUS_INCLUDE_PATH ③最后搜索...g++的内定目录 /usr/include /usr/local/include /usr/lib/gcc/x86_64-redhat-linux/4.1.1/include 与上面的相同,各目录存在相同文件时
编译警告 CMake编译警告和报错设置 常用警告 配置交叉编译环境常需要的修改 设置默认库和头文件搜索路径 设置交叉编译工具链 设置浮点运算处理方式 常见场景 编译动态库 编译静态库 编译可执行文件...设置依赖库路径 ## 括号为依赖库的绝对路径 link_directories(${OUTPUT_PATH}/lib) 包含头文件路径 ## 括号为包含头文件的绝对路径 include_directories...当存在被设置但是未被使用的参数发出警告,需配合-Wall -Wsign-compare 当比较有符号和无符号值时发出警告 配置交叉编译环境常需要的修改 设置默认库和头文件搜索路径 编译默认会从/usr.../include目录中搜索头文件、从/usr/lib中搜索依赖库。...当设置了CMAKE_SYSROOT后,则会从xxx/usr/include搜索头文件、从xxx/usr/lib中搜索依赖库。
GCC与G++降级 我使用的是Ubuntu18.04系统,该系统默认装的gcc为7.3,而cuda支持的版本是6.0以下,所以我们需要降级,这里选择的版本为gcc5.5。.../numpy/core/include 修改lib目录,原PYTHON_LIB注释,打开anaconda的PYTHON_LIB,如下所示: # PYTHON_LIB := /usr/lib PYTHON_LIB...) /usr/local/include /usr/include/hdf5/serial LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /...最后,在测试集上的精度为75%左右!...4.C3D-cifar10测试 4.1 获取数据集 进入数据集目录: cd 你的C3D路径/C3D-V1.0/data/cifar10/ 运行脚本: .
下载thrift安装包 为了生成依赖类库 /usr/local/include/thrift/ 和 /usr/local/lib/ ,需要下载 thrift 源码包。...检查相关文件是否存在 thrift编译成功后,会在 /usr/local/include/thrift/ 和 /usr/local/lib/ 目录下生成相关文件,用于后面使用 g++ 工具编译 cpp...-I/usr/local/include/thrift与-I./gen-cpp:g++会先在当前目录查找你所制定的头文件,如果没有找到,会回到缺省的头文件目录查找。...-L/usr/local/lib:编译的时候,指定搜索库的路径。 -g:指示编译器,在编译时,产生调试信息。 5. 创建HBase表 在运行客户端之前,我们需要创建一个 hbase_test 表。...将export LD_LIBRARY_PATH=/usr/local/lib添加至/etc/profile文件中,如下图所示: ?
(2)位置: 共享函数库文件必须放在特定目录,对于开放源码来说,GNU标准建议所有的函数库文件都放在/usr/local/lib目录下,而且建议命令、可执行程序都放在/usr/local/bin目录下。...,当静态库和动态库同名时,gcc命令将优先使用动态库,默认去链接/usr/lib和/lib等目录中的动态库,将文件libmyhello.so复制到目录/usr/lib中即可。...配置文件/etc/ld.so.conf中指定的动态库搜索路径 4. 默认的动态库搜索路径/lib 5....默认的动态库搜索路径/usr/lib 有关环境变量 1.PATH是可执行文件路径,是三个中我们最常接触到的,因为我们命令行中的每句能运行的命令,如ls、top、ps等,都是系统通过PATH找到了这个命令执行文件的所在位置...修改/etc/ld.so.conf文件,把库所在的路径加到文件末尾(直接写在文件末尾,不要在路径前加include),并执行ldconfig刷新(ldconfig 命令的用途,主要是在默认搜寻目录(/
=on -DLLVM_LINK_LLVM_DYLIB=on extra/clang 和 extra/llvm 提供 /usr/lib/{libclangAST.so,libLLVM*.a,libLLVM.so...(3)在 Clang 外部构建 你需要在搜索路径中安装 Clang。...如果没有选项,getinclude.py 将默认使用 g++,你也可以将其他编译器作为第一个参数传递。 下面是一个例子: ..../include/c++/v1 -isystem/usr/local/include -isystem/Applications/Xcode.app/Contents/Developer/Toolchains...libstdc++ 路径(即 GCC 的标准模板库)。
以上一个代码实例gdal计算NDVI为例: 如何在Linux下使用gcc进行编译?...(顺便说一下,上次的代码只能在gdal1下编译,因为gdal2和1的API稍微有些改动) gdal的动态链接库如果采用默认的安装方式应该在/usr/local/lib目录下面,而头文件在/usr/include.../gdal目录下面。...那么,我们的编译命令应该是这样的:g++ NDVI.cpp -std=c++11 -I/usr/include/gdal -L/usr/local/lib -lgdal -o NDVI.o 其中:...因为上一个代码中使用了C++11中的std::array 等特性。 -I[Dir] 指定头文件目录的搜索目录 -L[Dir] 指定动态链接库的搜索目录 -l[lib] 指定一来的动态链接库文件
正式开始前,编译环境 gcc g++ 开发库之类的需要提前装好,这里默认你已经装好。...1.选定源码目录 可以是任何目录,本文选定的是/usr/local/src cd /usr/local/src 2.安装 PCRE 库 ftp://ftp.csx.cam.ac.uk/pub/software...nginx 的 configure 命令支持以下参数: --prefix=path 定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。...例如,当你在FreeBSD上使用PCRE库时需要使用:--with-cc-opt="-I /usr/local/include。....例如,当在FreeBSD下使用该系统的PCRE库,应指定:--with-ld-opt="-L /usr/local/lib". 典型实例(下面为了展示需要写在多行,执行时内容需要在同一行) .
领取专属 10元无门槛券
手把手带您无忧上云