编译参数中如何包含头文件和动态链接库

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 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
其中:
-std=c++11 指定使用C++11标准进行编译。因为上一个代码中使用了C++11中的std::array 等特性。

-I[Dir] 指定头文件目录的搜索目录
-L[Dir] 指定动态链接库的搜索目录
-l[lib] 指定一来的动态链接库文件

目录
相关文章
|
6月前
函数库头文件问题
函数库头文件问题
|
2月前
|
小程序
在Masm32中如何静态链接自己编写的库文件
在Masm32中如何静态链接自己编写的库文件
|
6月前
|
自然语言处理 编译器 程序员
【头文件】对.h文件的理解
【头文件】对.h文件的理解
165 1
|
编译器 C++ 开发者
头文件.h、动态链接库.dll、静态链接库.lib的区别与应用总结
头文件.h、动态链接库.dll、静态链接库.lib的区别与应用总结
1010 0
头文件.h、动态链接库.dll、静态链接库.lib的区别与应用总结
|
Linux C++ 编译器
linux下查看包含的头文件的源文件
我想查看linux下包含的一个头文件的源文件,如#include "a.h"。在C++编译器里直接右键就可以打开了,那么在linux下该怎么查看呢?或者怎么查看源文件所在的目录? 如果是系统的文件,那么到 cd /usr/include 下找找就行; 如果是自定义的头文件,到你的工程的根目录下找找。
1150 0
|
C++
boost库生成文件命名和编译
生成文件命名规则:boost中有许多库,有的库需要编译、而有的库不需要编译,只需包含头文件就可以使用。编译生成的文件名字普遍较长,同一个库根据编译链接选项不同,又可以生成多个不同名字的文件。生成的文件名字是很长,可是这样带的信息才多,也就容易识别出用途。
1318 0
|
Linux C语言 C++
gcc/g++编译 cpp/c文件 生成可执行文件
g++编辑cpp生成exe 编译重命名等: g++ –c Hello.cc  编译文件,生成目标文件 Hello.o g++ Hello.o –o abc  连接 并重命名为可执行文件 abc g++ Hello.cc    编译连接一起,生成a.out g++ Hello.cc –o hello 生成a.out并命名为hello 多文件
4346 0
|
C语言 编译器 vr&ar
GCC 编译使用动态链接库和静态链接库
1 库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态库的链接是在程序执行的时候被链接的。
1320 0