在linux环境下编译C++ 程序

本文介绍了使用C++创建程序的两种方式:直接通过单个源文件编译生成可执行程序,以及借助CMakeLists.txt进行项目的组织和编译。第一种方法适合小型程序,而第二种则适用于更复杂的项目。
部署运行你感兴趣的模型镜像

第一种:

创建一个C++程序  XXX.cpp ,打开文件

touch helloworld.cpp
vim helloworld.cpp

下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 单个源文件生成可执行程序

/* helloworld.cpp */
#include <iostream>
using namespace std;
int main(int argc,char *argv[])
{
    cout << "hello, world" << endl;
    return(0);
}

用以下命令编译为可执行文件:

g++ helloworld.cpp -o helloworld

运行程序:

$ ./helloworld
hello, world

第二种(利用CMakeLists.txt)

创建CMakeList.txt 并编辑

touch CMakeLists.txt
vim CMakeLists.txt
/*CmakeLists内容*/
cmake_minimum_required(VERSION 2.8)
project(helloSlam)
add_executable(hellosalm main.cpp)

创建build文件夹,并进入

mkdir build

cd build

接着cmake编译

cmake ..

make

编译完生成

 

 接着编译生成文件

./hellosalm

 

 

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

Linux环境下,GCC和G++是两种常用的编译器,用于编译C和C++源代码。GCC是GNU Compiler Collection的缩写,它能够编译C、C++、Objective-C、Fortran等多种语言。而G++是GCC针对C++语言的一个前端,它可以调用GCC来编译C++代码。实际上,G++是GCC的一个包装,它们底层使用相同的编译器,但在行为上存在一些差异。 参考资源链接:[Linux-GCC-G++编译器与调试器.ppt](https://wenku.youkuaiyun.com/doc/85rb55jsf6?spm=1055.2569.3001.10343) 首先,GCC在编译C++程序时会尝试最小化C++特性,而G++默认启用所有C++标准特性。这意味着如果你使用GCC来编译C++代码,可能会因为某些C++特有的语言特性而遇到问题。例如,GCC可能不会默认启用C++的RTTI(运行时类型信息)或者异常处理特性。 其次,当使用GCC编译编译C++代码时,需要显式指定使用C++标准库,而G++会默认链接C++标准库。如果没有指定,使用GCC可能会导致链接错误。 为了在命令行中正确使用GCC和G++进行C++程序编译,你可以按照以下方式进行操作: 使用GCC编译C++程序: ```bash gcc -std=c++11 -o program program.cpp ``` 这里使用了`-std=c++11`选项来指定使用C++11标准,`-o program`指定输出的可执行文件名为`program`,`program.cpp`是源代码文件。 使用G++编译C++程序: ```bash g++ -std=c++11 -o program program.cpp ``` 在这种情况下,编译命令和使用GCC几乎相同,但是G++会默认进行C++代码的编译和链接。 总之,虽然GCC和G++在很多情况下可以互换使用,但在编译C++程序时推荐使用G++,因为它默认支持C++的特性,可以避免不必要的配置。对于更深入的了解GCC和G++之间的区别以及如何高效使用它们,建议参考这份资料:《Linux-GCC-G++编译器与调试器.ppt》。这份演示文稿详细介绍了GCC和G++的使用场景、特性以及它们在实际项目中的应用,帮助你更全面地掌握Linux环境下的编译技术。 参考资源链接:[Linux-GCC-G++编译器与调试器.ppt](https://wenku.youkuaiyun.com/doc/85rb55jsf6?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值