当前位置: 首页 > article >正文

Mac 刷题环境配置

Mac 刷题环境配置

这篇博文主要记录自己为了更方便的在 Mac 上写算法题,主要是基于 Clion做的一些环境配置;有些操作其实在 Windows ,Linux 下也是通用的,如果看到的小伙伴也可以结合自己的情况参考。

Clion 插件

推荐一下这个插件 C/C++ Single File Execution

image-20250119204634110

因为刷算法题主要是单文件执行,这个可以帮我们自动在 Cmake 里生成一个命令,进而创建一个可以独立执行的可执行文件。具体如图:

image-20250119204845319

CMakeLists.txt

image-20250119204940700

使用 Cmake 整理输出目录

如果我们使用了上一步,得到的可执行文件和 源代码cpp 文件是在同一目录下的,其实不太优雅:

image-20250119205219257

可以在 Cmake 里面添加这几行代码:

# 设置可执行文件的输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
# 设置调试符号文件的输出目录(可选,macOS 上会影响 .dSYM)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)

这样得到的目录结构大致是这样:

image-20250119205407430

可以看到相关的 Debug 文件,还有可执行文件都整理到了调试目录,层次更加分明了。

万能头文件路径

刷题的小伙伴一定都对#include "bits/stdc++.h"这个头文件不陌生,主要是为了方便库的导入;

我一开始加在了

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include

这个目录下,其实一开始是可以的,但是如果Xcode进行了版本的更新,这个目录会被覆盖,进而导致原先的头文件丢失。

另外我尝试过加在/usr/local/include下,发现clion里面还是识别不到。

最终的结果是加在 /Library/Developer/CommandLineTools/usr/include目录下,这样即使系统更新也不会被覆盖。

主要总结了3点操作,以供参考。


http://www.kler.cn/a/512910.html

相关文章:

  • PyCharm+RobotFramework框架实现UDS自动化测试- (四)项目实战0x10
  • HarmonyOS NEXT:华为分享-碰一碰开发分享
  • kafka学习笔记7 性能测试 —— 筑梦之路
  • Linux——入门基本指令汇总
  • Spring Boot 中使用 @Transactional 注解配置事务管理
  • Linux C\C++方式下的文件I/O编程
  • C#语言的计算机基础
  • 80篇数据库大数据精华内容
  • 使用 Flask 构建视频转 GIF 工具
  • WinHttp API接口辅助类实现GET POST网络通讯
  • PostgreSQL的学习心得和知识总结(一百六十六)|深入理解PostgreSQL数据库之\watch元命令的实现原理
  • RabbitMq原生接口详解
  • C++编译时间可视化
  • 合并两个img栅格影像——arcgis
  • 解决GB28181对接RTSP倍速播放导致FFmpeg缓冲区满导致花屏问题
  • LangGraph:基于图结构的智能系统开发与实践
  • Java 大视界 -- 深入剖析 Java 在大数据内存管理中的优化策略(49)
  • 数据结构 链表1
  • 力扣hot100之螺旋矩阵
  • 深度学习篇---AnacondaLabelImg
  • Spring 6 第4章——原理:手写IoC
  • 《开源与合作:驱动鸿蒙Next系统中人工智能技术创新发展的双引擎》
  • STM32单片机学习记录(1.17)
  • Failed to load API definition
  • vue 如何判断每次进入都会刷新页面
  • 【WPF】WPF设置自定义皮肤主题