You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CLion 2023.1.5中Makefile构建前加载env.sh环境变量?

在CLion 2023.1.5中实现构建前加载env.sh的方法

你之前配置的「生成Makefile前执行的预配置命令」仅适用于CMake项目(用于cmake生成Makefile前执行操作),直接基于Makefile的项目不会触发这个选项,所以未生效。以下是几种可行方案:

方案一:修改CLion构建命令,串联source与make

  1. 点击CLion右上角运行配置下拉菜单,选择「编辑配置」
  2. 在弹出窗口中找到你的Makefile构建配置(默认名为「Makefile」)
  3. 切换到「构建」标签页,将「命令」栏的make替换为:
    bash -c "source ./env.sh && make"
    
    (注:./env.sh是项目根目录下的相对路径,若env.sh在其他位置,替换为实际绝对路径)
  4. 保存配置后重新执行构建即可。

方案二:修改Makefile,自动加载环境变量

这种方式能让Makefile在任何环境下(CLion或命令行)都自动加载env.sh,无需额外配置:
在Makefile最开头添加以下代码:

# 自动从env.sh导出环境变量到Makefile
-include .env.mk
.env.mk: env.sh
	bash -c "source $< && set | grep -E '^[A-Z_]+=' > $@"

原理:每次执行make时,会先检查.env.mk是否存在,若不存在则执行source env.sh并将环境变量导出到.env.mk,再由Makefile包含该文件,从而获取所有定义的变量。

方案三:修改CLion启动脚本,全局加载环境变量

如果希望CLion整个进程都能获取env.sh的环境变量(包括代码索引、运行调试等场景),可以修改CLion的启动脚本:

  1. 找到CLion的启动脚本(Linux/macOS下为clion.sh,Windows下可修改快捷方式的启动命令)
  2. 在脚本开头添加:
    source /path/to/your/env.sh
    
  3. 保存后通过该脚本启动CLion,所有后续操作都会自动带上env.sh的环境变量。

内容的提问来源于stack exchange,提问作者Pope B.Lei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 17:53:21