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

运行CMake后打包项目迁移至其他位置如何仍可直接执行make

解决方案

你遇到的错误本质是CMake本地生成的Makefile会硬编码源目录、构建目录的绝对路径,移动项目位置后路径不匹配就会触发配置校验报错。最稳妥的适配方案如下,完全符合老师要求的执行流程,无需修改评测脚本:

方案:手写顶层极简Makefile调度CMake构建

你不需要手动写全量编译规则,只需要在项目根目录新增一个手写的轻量Makefile,用来自动触发CMake配置和构建即可,步骤如下:

  1. 清空你本地之前CMake生成的所有缓存文件:CMakeCache.txt、CMakeFiles目录、cmake_install.cmake、CMake生成的Makefile等,这些本地临时文件不要打包进最终的压缩包
  2. 在项目根目录新建名为Makefile的文件,内容如下:
.PHONY: all clean

all: vm

# 触发子目录构建,把生成的vm可执行文件拷贝到根目录
vm: build_dir
	make -C build
	cp build/vm ./vm

# 自动创建构建目录、执行CMake生成构建规则
build_dir:
	mkdir -p build
	cd build && cmake ..

clean:
	rm -rf build vm
  1. 最终打包的内容仅需要包含:你写的虚拟机源码、项目的CMakeLists.txt、上述手写的顶层Makefile即可

验证方式

打包完成后,把压缩包移动到任意其他目录解压,执行老师要求的命令即可正常运行:

unzip virtual_machine.zip
cd virtual_machine
make
./vm

整个流程中CMake的执行被封装在Makefile规则里,评测老师完全感知不到,完全符合作业要求。

内容的提问来源于stack exchange,提问作者Tristan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:00:02