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

CMake无法找到头文件求助:推箱子求解器项目编译失败

解决推箱子求解器编译头文件找不到的问题

问题原因

你在CMake中通过include_directories(include/)已经将include/目录加入编译器的头文件搜索路径,但代码里写的#include "include/search_methods.hpp",会让编译器在include/目录下再去寻找include/search_methods.hpp,路径重复导致找不到目标文件。

两种解决方案

方案1:修改代码中的#include语句

把所有类似#include "include/xxx.hpp"的引用,改成直接使用头文件名,比如:

#include "search_methods.hpp"

编译器会自动在你配置的include/目录下查找对应的头文件。

方案2:调整CMakeLists.txt的头文件路径配置

如果不想修改代码,将include_directories的参数改为项目根目录(.):

project(Sokoban)
cmake_minimum_required(VERSION 3.16.3)

include_directories(.)
add_executable(main src/main.cpp src/coord.cpp src/map.cpp src/node_data.cpp src/node.cpp src/search_methods.cpp)

这样编译器会从项目根目录开始搜索,include/search_methods.hpp就能匹配到实际的文件路径。

补充说明

如果你的实际文件夹结构不是根目录下直接包含include/和src/,可以补充具体的文件夹层级信息,不过根据现有信息,上述两种方案足以解决问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:36:27