解决 Clion idea远程开发代码报错 'xxx.h' file not found 但却可以编译运行的问题

发布时间:2024-04-25 15:18:38 作者:yexindonglai@163.com 阅读(33)

问题描述

今天使用 c 调用 lua,在linux安装了lua开发环境,但是开发的时候却找不到 lua.h 头文件;

在linux 运行以下命令, 显示 LUA 5.3.0 版本,证明LUA的安装是没问题的;

  1. root@PAw9033927:~# lua -v
  2. Lua 5.3.0 Copyright (C) 1994-2015 Lua.org, PUC-Rio

但是在 CLion idea 却显示 'lua.h' file not found

然而,更奇怪的是,点绿色小三角运行的时候却是可以正常运行的;

这个情况让我了解到,肯定是idea的问题,代码是没问题的;

找呀找问题

通过find命令找到 lua.h 的文件在以下路径,

  1. /usr/local/include/lua.h

以下是 gcc 内定的头文件的路径

  1. /usr/include
  2. /usr/local/include
  3. /usr/lib/gcc-lib/<platform>/<version>/include

那既然有这个文件,idea为啥找不到呢?

原因分析

原来啊,clion 默认是在自己的Header Search Paths目录下找这个文件的,如下图

下面有2个include目录,但是这2个目录里面都没有 lua.h 文件,自然就会报错啦;

解决

既然找到问题了,那我们就来着手解决这个问题吧; 问题很明显,就是找不到 lua.h , 那我们让他能找到这个文件就可以啦!!

1、先打开 头文件所在目录

2、删除当前目录下的所有内容

3、删除 clion 下的所有 include

4、在CmakeLists.txt 文件 的最后加上以下代码,注意哦 ,一定要加到最底部

  1. target_include_directories(untitled PRIVATE /usr/local/include)

加好后如下图

5、重新加载cmake,然后clion会去服务器的 /usr/local/include 目录下将所有的头文件都同步过来;

6、解决完成,之前删掉的include已经重新下载回来了,代码也不会报错了

关键字c++