Mac端CLion运行C++代码提示文件不属于项目目标且链接报错如何解决
问题原因
你遇到的链接报错和CLion的黄色提示,核心原因是Hero.cpp没有被加入当前CMake项目的编译目标列表。编译器仅编译了main.cpp,链接阶段找不到Hero类的实现代码,因此抛出未定义符号错误,CLion的黄色提示也正是在提前预警该问题。
解决步骤
- 打开项目根目录下的
CMakeLists.txt文件 - 找到
add_executable配置行,原始配置仅包含main.cpp,格式类似:
将add_executable(untitled main.cpp)Hero.cpp添加到该行的源文件列表中,修改后配置为:
如果你的Hero头文件、源文件存放在单独的子目录,需要补全相对路径,或者额外用add_executable(untitled main.cpp Hero.cpp)include_directories配置头文件搜索路径 - 修改完成后,点击CLion弹出的「Reload Changes」提示,或者手动点击左侧CMake面板的刷新按钮,重新加载CMake配置
- 重新编译运行项目即可,此时
Hero.cpp顶部的黄色提示条也会同步消失
补充:如果修改后仍报错,可先清理旧的编译缓存:点击CLion顶部菜单栏「文件」→「清除缓存并重启」,重启后重新加载CMake配置再编译即可。
内容的提问来源于stack exchange,提问作者Katherine Sullivan
相关产品推荐
相关产品推荐

