解决CLion导入第三方头文件后include头文件not found

0. 问题描述

最近在看陈硕大神的Muduo网络库,但是在CLion上试验的时候出了些问题。问题如下:
(1)如何编写CMakeLists.txt
(2)导入第三方头文件后,CLion中include这些头文件显示红色下划线(file not found)?

1. 问题解决

1.1 编写CMakeLists.txt

按照官方的文档,将从github下载下来的项目编译后,得到两个文件夹:{your-path}/build/release-install-cpp11{your-path}/build/release-cpp11。不过我们只用{your-path}/build/release-install-cpp11即可,该文件夹下有两个子文件夹:lib为静态链接库,include为头文件,我们需要在CMakeLists.txt中将这两个加到项目中,我的如下:

cmake_minimum_required(VERSION 3.16)
project(LearningMuduo)

set(CMAKE_CXX_STANDARD 20)

# 添加thread库
set(THREAD_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)

# 导入muduo静态链接库和头文件
include_directories(your-path/build/release-install-cpp11/include)
link_directories(your-path/build/release-install-cpp11/lib)

add_executable(${PROJECT_NAME} main.cpp)

# 链接
TARGET_LINK_LIBRARIES(${PROJECT_NAME} Threads::Threads)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} libmuduo_net.a libmuduo_base.a)

这里我一开始有个小疑惑,就是link_librariestarget_link_libraries的区别,大家可以看看这篇文章

1.2 导入第三方头文件后,CLion中include头文件显示红色下划线(file not found)

这个问题在之前也出现过,但是后面神奇地”消失了“。解决的方法是在官方文档中找到的,描述如下:
在这里插入图片描述
按照文档说的Tools | Resync with Remote Hosts,这个步骤会比较慢,等它加载完后,会在External Libraries下增加Muduo的include头文件,这样红色波浪线就消失了~~
在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值