Windows10下CLion配置说明
CLion 是 C/C++的 IDE,可以配置多种编译环境,本文以配置MinGW编译环境为例。

安装
CLion 的安装可直接到官网下载 ZIP,文件解压后直接运行即可。我在安装过程中没有遇到困难,网上关于安装的教程很多,如果遇到困难可自行百度。

编译环境配置
CLion可以支持配置多种编译环境包括可以配置微软的Visual Studio的编译环境,不过我下载CLion,就是因为Visual Studio太大不想安装。所以才选择了CLion。
启动之前建议先下载安装 MinGW。虽然CLion本身自带MinGW环境,但是我在编译时遇到错误,指定单独安装的MinGW后编译成功。
MinGW的安装配置我参考的是这篇文档,也可自行百度,网上很多资料。需要特别注意的是安装目录不要有中文或者空格,我是直接安装在D:\MinGW 目录下。

CLion配置
运行CLion安装目录的bin目录下clion64.exe文件可以启动CLion,首次启动会要求配置编译工具链,也可以在“File -> Setting… -> Build,Execution,Deployment -> Toolchains” 进行配置

CMakefile.txt 编写说明
这部分是本文的重点,以上内容网上有很多相关的资料,但是最关键的对编译文件 CMakefile.txt 的编写说明并不多, 程序开发不可避免会调用第三方的dll 动态链接库,如何添加头文件、库文件、dll文件。

方式一:
可以将文件复制到MinGW的安装目录对应文件夹下

方式二:
将第三方的库Copy到工程目录下,然后在CMakefile.txt中添加声明,以引用freetype库为例,在工程目录下建freetype文件夹,将第三方库的头文件copy到freetype/include目录下,.a 文件copy到 freetype/lib目录下,dll文件copy到freetype/bin 目录下。通过include_directories添加头文件引用,通过 link_directories 添加lib文件引用。通过 add_custom_target 和 add_dependencies 将dll文件复制到 可执行程序目录。下面是完成的CMakefile.txt文件示例

cmake_minimum_required(VERSION 3.24)
project(demo) set(CMAKE_CXX_STANDARD 11) # 添加头文件目录
include_directories(freetype)
include_directories(freetype/include)
include_directories(freetype/include/freetype2)
# 添加lib文件目录
link_directories(freetype/lib) #copy dll文件到执行文件目录
add_custom_target(freetypedlllib
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/freetype/bin/FreeType6.dll ${CMAKE_BINARY_DIR}
) add_executable(${PROJECT_NAME} main.cpp)
#添加链接
target_link_libraries(${PROJECT_NAME} -llibfreetype) add_dependencies(${PROJECT_NAME} freetypedlllib)

————————————————
原文链接:https://blog.csdn.net/wbf810207/article/details/128467526

[转]Windows10下CLion配置说明的更多相关文章

  1. Windows10下yolov8 tensorrt模型加速部署【实战】

    Windows10下yolov8 tensorrt模型加速部署[实战] TensorRT-Alpha基于tensorrt+cuda c++实现模型end2end的gpu加速,支持win10.linux ...

  2. Windows10下安装OpenSSL

    Windows10下安装的方法 安装环境:Windows10专业版+VS2013 工具:ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi,下载地址:http: ...

  3. 【转】Windows10下80端口被PID为4的System占用导致Apache无法启动的分析与解决方案

    昨天刚更新了Windows10,总体上来说效果还是蛮不错的,然而今天在开启Apache服务器的时候却发现,Apache莫名其妙的打不开了,起初以为是权限的问题,于是使用管理员身份的控制台去调用命令ne ...

  4. 记Windows10下安装Docker的步骤

    本文主要是记录吾八哥本人在Windows10下安装Docker的过程,当然这些步骤也是在网上搜索查阅资料得知而来的!具体步骤如下: 一.启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭 ...

  5. Windows10下安装Oracle 11g 64位的详细步骤

    直接附上我整理后的Word版<Windows10下安装Oracle 11g 64位的详细步骤>下载地址,提取码:9vak. 参考文献: 1.Win10 64位系统下安装Oracle11g详 ...

  6. windows10下 MySQL5.7.18版本安装过程及遇到的问题

    windows10下 MySQL5.7.18版本安装过程及遇到的问题           mysql-5.7.18-winx64 安装           1.解压 此次将MySQL装在H盘,依个人喜 ...

  7. windows10 下使用Pycharm2016 基于Anaconda3 Python3.6 安装Mysql驱动总结

    本文记录:在PyCharm2016.3.3 中基于Anaconda3 Python3.6版本安装Python for Mysql驱动.尝试了安装Mysql-Connector成功,但是连接数据库时驱动 ...

  8. 64位 windows10下 Apache2.4 + php7 + phpstorm 相关设置

    64位 windows10下 Apache2.4 + php7 + phpstorm 相关设置   转  https://blog.csdn.net/laurencechan/article/deta ...

  9. Windows10 下Apache服务器搭建

    Windows10 下Apache服务器搭建   转 https://blog.csdn.net/sunqian666888/article/details/78561399 目录 一.软件下载 二. ...

  10. Windows10 下安装scrapy 日志

    Windows10 下安装scrapy 日志 1.下载python3.6 2.添加python.exe和pip.exe的路径到系统环境变量path中 如c:\python36_64 C:\Python ...

随机推荐

  1. 【异常处理】Assistive Technology not found: com.sun.java.accessibility.AccessBridge

    十一回来之后,工作电脑上的抓包工具Charles突然启动不起来了,双击图标后,一闪而过,就没动静了. 不知道是不是因为之前安装了什么工具.软件引起的. 打开CMD命令行,跳转到目录下启动,提示:Ass ...

  2. 云原生周刊:Kubernetes 1.27 服务器端字段校验和 OpenAPI V3 进阶至 GA

    开源项目推荐 KubeView KubeView 是一个 Kubernetes 集群可视化工具和可视化资源管理器.它允许用户在集群内部运行命令,并查看集群内部的资源使用情况.容器运行状态.网络流量等. ...

  3. bash 连接操作符(& && | 等)的使用

    链式操作(Chaining Operators),就是用于将多个命令组合在一起,根据操作符类型执行各种复杂指令.链式操作常用于你在交互shell中写下一长串指令执行的时候,它让shell脚本的自动化能 ...

  4. A星、Floyod、Bellman-Ford

    A 星算法 A 星和 Dijkstra 算法唯一区别在于堆中排序的依据.distance 数组仍然保存实际代价,预估代价只影响堆的弹出顺序. Dijkstra 根据源点到当前点的实际代价进行排序. A ...

  5. 重温c语言之,7天开整,就是随便的写写,第一天

    一:转义字符 \t是一个字符,在printf里面,只占一个位置: 其他什么的抽象字符,用一个'\'+抽象字符就可以出现: \ddd这个是8进制的,可以转成10进制的,之后参考ASCLL码表即可 二:枚 ...

  6. 强化学习环境gym/gymnasium下的atari环境的v0、v4、v5的说明

    声明: 本文是最新版gym-0.26.2下Atari环境的安装以及环境版本v0,v4,v5的说明的部分更新和汇总,可以看作是更新和延续版本. 由于gym已经由openai公司独立出来,虽然开发团队和投 ...

  7. Linux Shell综合:备份数据库

    需求分析 每天凌晨2:30备份数据库hspedu到/data/backup/db 备份开始和备份结束能够给出相应的提示信息 备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如:20 ...

  8. 【Playwright + Python】系列(九)Playwright 调用 Chrome 插件,小白也能事半功倍

    哈喽,大家好,我是六哥!今天我来给大家分享一下如何使用playwight调用chrome插件,面向对象为功能测试及零基础小白,我尽量用大白话的方式举例讲解,力求所有人都能看懂,建议大家先收藏,以免后面 ...

  9. mysql 触发器阻止不合理数据插入

    今天看到有人问如何判断处理有不符合的数据阻止插入.比如这个数据只能在90天内存在一条,如果有了就拒绝插入. 当然大家都说用代码判断,判断一下90天内是否有数据,有就拒绝. 我这里说一个使用触发器的思路 ...

  10. typeScript 数组类型(五)

    typeScript 数组类型声明分默认数组类型和数组泛型声明,下面一一介绍 基础数组类型声明 // 声明数组类型 全数字类型 let arr: number[] = [1, 2, 4, 5, 7] ...