编译报错:bin/ld: static-reloc.c:(.text+0x24): undefined reference to `main‘ 的解决方案

embedded/2025/2/5 14:43:00/

背景

交叉编译代码,很多链接库都是手动指定的,编译的代码中存在部分测试代码,需要gtestgmock的支持。

问题

交叉编译test代码的时候,出现了报错

bin/ld: static-reloc.c:(.text+0x24): undefined reference to `main'

解决方案

手动指定链接库的时候:

如:

set(GTEST_LIBRARIES "/path/to/libgtest_main.a""/path/to/libgtest.a")
set(GTEST_INCLUDE_DIRS "/path/to/gtest/include")
set(GTEST_INCLUDE_DIR "/path/to/gtest/include")set(GMOCK_LIBRARIES "/path/to/libgmock_main.a""/path/to/libgmock.a")
set(GMOCK_INCLUDE_DIRS "/path/to/gmock/include")
set(GMOCK_INCLUDE_DIR "/path/to/gmock/include")

http://www.ppmy.cn/embedded/159779.html

相关文章

RRT_STAR路径规划代码

这是一段使用MATLAB编写的代码,实现了一个基于RRT*(Rapidly-exploring Random Trees Star)算法的路径规划。RRT*是一种用于在配置空间中搜索路径的采样算法,常用于机器人路径规划等领域。以下是代码的主要功能和结构: …

大模型安全漏洞报告——真实漏洞视角下的全面探讨

近年来, 人工智能(AI)正以前所未有的速度发展,在各行业中扮演着越来越重要的角色。大模型作为AI中的重要一环,其能力随着平台算的重要一环,其能力随着平台算提升、 训练数据量的积累、深度学习算法积累、深…

基础笔记|splice()的用法

一、三种用法 splice(index, 0, element) 插入 元素,不删除任何元素。splice(index, deleteCount) 删除 deleteCount 个元素。splice(index, deleteCount, element1, element2, ...) 替换 元素,即删除 deleteCount 个元素,同时插入新的元素。…

大屏 UI 设计风格的未来趋势

在科技飞速革新的时代,大屏设备的应用领域不断拓展,从城市的智能交通指挥中心,到商场的互动广告大屏,再到家庭的超大尺寸智能电视,大屏已然成为信息展示与交互的关键载体。大屏 UI 设计风格也随之不断演变,…

Spark SQL读写Hive Table部署

个人博客地址:Spark SQL读写Hive Table部署 | 一张假钞的真实世界 官网参考文档:Hive Tables。 本文使用的组件版本如下: Spark 3.1.2Hive 3.1.2 第一步:Hive部署 在所有Worker节点上部署Hive。主要是使用Hive下面的libs。 …

Redis --- 秒杀优化方案(阻塞队列+基于Stream流的消息队列)

下面是我们的秒杀流程: 对于正常的秒杀处理,我们需要多次查询数据库,会给数据库造成相当大的压力,这个时候我们需要加入缓存,进而缓解数据库压力。 在上面的图示中,我们可以将一条流水线的任务拆成两条流水…

Star300+ 开源项目Developer-RoadMap 计算机各领域学习路线图集大成者

一、开发者的“成长宝典”来了 你是否在编程的海洋中迷茫,不知该驶向何方?你是否渴望一份清晰的指南,引领你在开发者的道路上稳步前行?今天,就为大家带来一份堪称“成长宝典”的开源项目: https://github.com/kamran…

c++ map/multimap容器 学习笔记

1 map的基本概念 简介: map中所有的元素都是pair pair中第一个元素是key(键),第二个元素是value(值) 所有元素都会根据元素的键值自动排序。本质: map/multimap 属于关联式容器,底…