首页 > 编程知识 正文

ubuntu编译安装gcc,opencv编译的时候出现错误

时间:2023-05-05 10:39:51 阅读:34751 作者:1789

最近,在linux上有一个项目用于使用gcc编译c源程序,对此进行了整理和列举

使用gcc在linux上编译c的最基本指令

gcc -[command] c文件名-o生成文件别名

命令----

w---- (警告warning )

例如,gcc -Wall hello.c -o hello

-version (查看当前gcc版本) ) ) ) ) )。

例如,gcc--版本

gcc -help (显示帮助)

例如,gcc --help

gcc-wall file 1file2.-o outfilename (gcc编译多个文件) ) ) ) )。

注:头文件不需要编译

示例: gcc-wallone.ctwo.c three.c-oliujun

linux头文件通常位于/usr/include或/usr/local/include中

包含和包含' '的区别在于

include“”在当前目录下搜索相应的包含文件。 如果不存在,请到系统目录搜索相应的头文件

include直接前往系统目录,并搜索相应的头文件。 它不会在当前目录中搜索头文件

gcc-v文件名称显示有关gcc编译和链接的所有信息

例如,gcc -Wall -v hello.c -o hello

gcc-c文件名称将当前文件编译为目标文件。 但是,不连接)

例如,gcc -Wall -c hello.c (生成扩展名为. o的目标文件) )。

gcc filename.o filename1. o-otargetfile将生成的目标文件合并为一个可执行文件

例如:gcc one.o two.o -o hello

linux标准库路径/usr/lib and /lib

gcc-wall filename.c/path/file.a-otargetfilename.o链接编译外部库

例如,gcc -Wall main.c /usr/lib/普通海豚/p 1.gcc -Wall main.c /usr/lib/普通海豚/p2. gcc-wall main.c-lm -

注意:第二个命令与第一个语句的文件名相同。 如果使用-l,则表示当前文件是库文件

是在lib面前提出来的。

gcc -I path指示编译器在指定的path目录下搜索头文件

示例: gcc -Wall main.c -I/usr/opt

gcc -L path指示编译器在指定的path目录下搜索库文件

arcrlibname.afile1. ofile2. ofile3. o . filen.o

将单独的目标文件(.o )文件合并为一个库文件(名称为libname.a ),并执行一般步骤

与库文件结合使用

例如: arcrlibhello.afu n1.ofun2. o

ar t libname.a检查在当前libname.a库中生成的目标文件的数量

gcc-wallmain.clibname.a(o )-o hello将目标文件和库文件

编译并生成库文件。 顺序是必须先写调用文件写库文件)

gcc-wall main.c-l/usr/opt-lhello-oliujun位于/usr/opt目录中

下面的搜索文件名是libhello.a的库文件

共享库加载默认库目录

/usr/local/lib和/usr/lib设置更改LD_LIBRARY_PATH共享加载库路径

gcc-wall-ansi hello.c-o hello (-ansi使用标准c进行编译)。

gcc-wall-dtesthello.c-o hello (-d相当于程序中的#define TEST ) )。

CPP-DM/dev/null (显示内置于gcc中的预定义宏) ) ) ) ) ) ) )。

编译器需要执行以下四个步骤:

1 .预编译:

cpp main.c main.i (将文件main.c中包含的头文件的内容加载到当前

在名为main.i的文件中,这是编译前的阶段)

2 .编译并转换成汇编语言

gcc -Wall -S main.c (将文件main.c的内容转换为汇编语言) )。

3 .生成目标文件

as main.s -o main.o

4 .将对象文件链接到可执行文件。 (链接系统标头库,包括程序中使用的静态库或动态库) ) ) ) ) ) ) ) ) ) )。

gcc main.o

显示file file.o文件信息

ldd main显示可执行文件main所依赖的库。 main文件必须是可执行文件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。