C++搭建集群聊天室(四):工程统帅神器 Cmake,我爱死它了

举报
看,未来 发表于 2021/08/19 16:16:42 2021/08/19
【摘要】 “咳咳,讲了这么久,还是不讲点知识点,一直就配置环境配置环境的,烦不烦呐!!!”快了快了,这个环境搭建完就进主题@[toc] 环境搭建1、在插件市场下载 cmake 和 cmake-tools,上一篇有讲过的。2、右击 cmake-tools,选择 extension settings,打开,填写:其中那个值是 cmake 在远程主机上的位置,如果不放心的话可以使用命令 whereis cm...

请添加图片描述

“咳咳,讲了这么久,还是不讲点知识点,一直就配置环境配置环境的,烦不烦呐!!!”

快了快了,这个环境搭建完就进主题


@[toc]

环境搭建

1、在插件市场下载 cmake 和 cmake-tools,上一篇有讲过的。

2、右击 cmake-tools,选择 extension settings,打开,填写:
在这里插入图片描述

其中那个值是 cmake 在远程主机上的位置,如果不放心的话可以使用命令 whereis cmake 来确定。

3、ok之后,我们在项目文件夹下创建一个名为 CMakeLists.txt 的文件,放在和代码文件同级目录下。


CMAkeLists.txt 文件编写示例

此处我们以 hello.cpp 做例子。

#include<iostream>

using namespace std;

int main(){

    cout<<"hello"<<endl;

    return 0;
}
cmake_minimum_required(VERSION 3.0) # 最低版本
project(main)   # 给这个工程一个名字,这不是可执行文件的名字,是工程的名字

# 配置编译选项
# set(CMAKE_CXX_FLAGS $(CMAKE_CXX_FLAGS) -g)  # 添加编译选项
# 我这里一 -g 就不行,目前还不知道为啥

# 配置头文件搜索路径
# include_directories('如果想在默认路径之外再加路径,就填在这里')

# 配置库文件搜索路径
# link_directories('意思同上')

# 设置需要编译的源文件列表
set(SRC_LIST hello.cpp)  # 可放多个,但是没必要

# 把 . 指定路径下的所有源文件放入一个变量名中
# aux_source_directory(. SRC_LIST)

# 配置可执行文件名
add_executable(hello ${SRC_LIST})
 
#生成库
# add_library('库名')

# 需要链接的外库
# target_link_libraries(hello 库名自己填)   # 如果库之间有相互依赖,注意把被依赖的放前面

写的可还详细?

建议把这俩测试文件放到一个专门的文件夹里面。

进入该文件夹,终端运行:cmake .

在这里插入图片描述

一下子生成好多个东西,不过还看到一个Makefile文件了,接下来make。


专业打包

看一下以下几个文件(夹):

bin
lib
include
src
build
excample
thirdparty	//第三方库
CmakeLists.txt
ReadMe.md

是吧,看着我们刚刚make完那一地鸡毛,有没有觉得自惭形秽。

mkdir build
cmake ..
make

好了,这些东西都到build里面了。

但是,还是很乱。

CMakeLists.txt 里面写:

# 设置可执行文件存放的目录

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

做个示范。
其他的再融会贯通以下,被那个 -g 弄得有点脑阔疼,又这么晚了,今晚还有四份文档要写,一个会要开。。。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。