Clion在Windows下build时出现undefined reference,即使cmake已经正确链接第三方库(如protobuf)?

你是否正在使用clion自带的vcpkg来安装了protobuf?
或者你是否自己使用visual studio自己编译了libprotobuf.lib
你是否已经正确在CmakeLists.txt中添加了以下命令:

find_package(Protobuf CONFIG REQUIRED)
include_directories(${Protobuf_INCLUDE_DIRS})
link_directories(${Protobuf_LIBRARIES})
target_include_directories(Test PRIVATE ${CMAKE_SOURCE_DIR})
target_link_libraries(TestPRIVATE ${PROTOBUF_LIBRARIES}protobuf::libprotocprotobuf::libprotobufprotobuf::libprotobuf-lite
)

不论你怎样修改cmake语句,cmake也能正常生成,但是却在build时出现undefined reference 第三方库(如protobuf)

如果上面说的很符合你,那么你来对地方了!

原因

clion默认的编译器是mingw(g++/gcc),而clion自带的vcpkg下载的库或者你自己用visual studio编译的库是msvc编译器的(太坑啦!!!!!!!!!!!!),而你却用mingw(g++/gcc)来链接msvc编译器生成的库,两个不同编译器生成的文件不能链接!!!!!!!!!!!

解决方法

方法自然是使用msvc编译器而不是clion自带的mingw编译器了!!!!!!!

打开设置,新建一个配置文件,按照图中的指示,MSVC工具链需要点击“管理工具链”进去配置;同时记得“生成器”不要选择“使用默认值”,要“让CMake决定”!这个很重要!!!!!
在这里插入图片描述

点击+号新建Visual Studio
在这里插入图片描述

只需制定工具集目录,这个目录如图所示!其余选项无需配置,如果要配置,跟着我图里的一样!!!!!!!
在这里插入图片描述

在这里插入图片描述

完成之后按确定,关闭CLION然后再打开,clion就会开始配置msvc的环境,风扇开始嘎嘎转,之后你的第三方库就能正常被链接了!!!!!!!!!!!!!!不会再出现undefined reference了!!!!!!!!!!!

折磨了我一天啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,终于解决了!!!!!!!!!!!!!!!!!傻呗Clion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/216557.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++数学表达式解析求值库推荐

让程序支持自定义的数学计算器是常用功能,找了几个用来数学表达式解析求值的库,有几个看起来很不错。 各个数学表达式求值的综合对比 对比结果如下,ExprTK得分最高, TinyExpr得分最低, GitHub - ArashPartow/math-par…

新版画中画documentPictureInPicture API使用

关于该API,chrome dev有一篇比较好入门的文章,如果你没看过强烈推荐你先看这篇基础用法,该文章只针对API的特性和chrome dev文章进行扩展性说明。 提前说明,目前该API是非w3c草案功能,从chrome 116开始已经强推到stabl…

ASO优化之如何测试应用的屏幕截图

截取屏幕截图并上传到应用商店后,我们需要对其进行测试和优化,从而来获得更高的转化率,精美的图片有助于提高应用在商店的安装率。 1、定义目标受众。 战略性地决定测试哪些目标受众,可以通过年龄、性别、地点、兴趣等来定义我们…

超声波雪深传感器冬季里的科技魔法

在冬季的某个清晨,当你打开大门,被厚厚的积雪覆盖的大地映入眼帘,你是否曾想过,这片雪地的深度是多少?它又如何影响着我们的生活和环境?今天,我们将为你揭开这个谜团,介绍一款神秘的…

AHSATA模块之AHCI HBA卡开发,结合SPEC文档和项目实际底层FW开发总结(一)

目录 一、简介二、总体架构和常用术语总结2.1 总结介绍2.2 常用术语解析 三、详细流程3.1 总结3.2 物理层详解3.3 链路层、传输层详解3.4 命令层详解 四、FW开发4.1 pcie header配置4.2 PMCAP和MSICAP配置4.3 pcie capbility配置4.4 Generic Host Control配置4.5 Port Register…

EEG 脑电信号处理合集(2): 信号预处理

脑电信号在采集完以后,需要进行一系列的预处理操作,然后才能用于后续的科学研究和计算。预处理是脑电信号分析最基本且重要的一步。基于python环境MNE库。 1 使用带通滤波器,信号滤波,去噪,去工频干扰 data_path sam…

【计网 可靠数据传输RDT】 中科大笔记 (十 一)

目录 0 引言1 RDT的原理RDT的原理: 2 RDT的机制与作用2.1 重要协议停等协议(Stop-and-Wait):连续ARQ协议: 2.2 机制与作用实现机制:RDT的作用: 🙋‍♂️ 作者:海码007📜 专栏&#x…

【自主探索】基于 rrt_exploration 的单个机器人自主探索建图

文章目录 一、rrt_exploration 介绍1、原理2、主要思想3、拟解决的问题4、优缺点 二、安装环境三、安装与运行1、安装2、运行 四、配置自己的机器人1、Robots Network2、Robots frame names in tf3、Robots node and topic names4、Setting up the navigation stack on the rob…

CTA-GAN:基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影 CT到增强CT的合成技术

Generative Adversarial Network–based Noncontrast CT Angiography for Aorta and Carotid Arteries 基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影背景贡献实验方法损失函数Thinking 基于生成对抗性网络的主动脉和颈动脉非集中CT血管造影 https://github.com/ying-f…

Matplotlib图形配置与样式表_Python数据分析与可视化

Matplotlib图形配置与样式表 配置图形修改默认配置rcParams样式表 Matplotlib的默认图形设置经常被用户诟病。虽然2.0版本已经有了很大改善,但是掌握自定义配置的方法可以让我们打造自己的艺术风格。 配置图形 我们可以通过修个单个图形配置,使得最终图…

Python3.7 win7系统安装openCV方案

为了使用机房电脑处理数字图像问题,在win7系统安装了python opencv, 测试使用的是官网下载python3.7.7版本,如果官网安装,直接安装即可 pip install python-opencv 这样会自动安装对应版本的numpy 如果官网安装很慢,想使用镜像安…

Apache Superset数据分析平台如何实现公网实时远程访问数据【内网穿透】

文章目录 前言1. 使用Docker部署Apache Superset1.1 第一步安装docker 、docker compose1.2 克隆superset代码到本地并使用docker compose启动 2. 安装cpolar内网穿透,实现公网访问3. 设置固定连接公网地址 前言 Superset是一款由中国知名科技公司开源的“现代化的…