首页 > 其他分享 >[debug]解决cmake编译报错:can not be used when making a PIE object:recompile with -fPIC

[debug]解决cmake编译报错:can not be used when making a PIE object:recompile with -fPIC

时间:2024-07-03 21:30:14浏览次数:25  
标签:used cmake recompile CXX fPIC FLAGS CMAKE 报错

问题描述

最近在跟施磊老师的高性能服务器项目,使用make命令后一直报错以下问题

解决方法

报错一大堆recompile with -fPIC,多半是链接静态库是出错了。根据网上经验,在CmakeLists文件中加入-no-pie,但是两种方法进行尝试后都没有效果。

#第一种方法
add_compile_options(-fPIC)
#第二种方法
set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -fPIC ")

后面看到一篇帖子说需要降低 gcc 和 g++ 版本。之前我的的版本是7.5,手动降到4.9后,没有报错recompile with -fPIC,出现了新的错误

这个只需要在 CMAKE_CXX_FLAGS中设置支持C++11格式就可以

set(CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} -g -std=c++11")

没有报错,编译顺利完成

标签:used,cmake,recompile,CXX,fPIC,FLAGS,CMAKE,报错
From: https://blog.csdn.net/magnetotell/article/details/140045453

相关文章

  • python更新包、pip延时报错,pip check 查询冲突
    pip下载package或者更新package会出现延迟报错的问题,因为python默认使用的是国外镜像,有时候下载非常慢,我们可以选择进行换源,引用国内的镜像资源进行更新或者下载。阿里云: http://mirrors.aliyun.com/pypi/simple/中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/......
  • Docker容器运行多个命令,有一个报错就重启容器
    核心是entrypoint.sh脚本中的内容。Dockerfile案例FROMpython:3.9.16WORKDIR/codeADDrequirements.txt/code/requirements.txtRUNpipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simple/-r/code/requirements.txtRUNspacydownloaden_core_web_trfADD......
  • Spring Cloud Gateway整合Knife4j 4.4.0实现微服务聚合文档(报错解决详细版)
    以前做过的都是单服务应用的文档,就算换到了微服务里做的实际上也是单服务(每个服务模块一个单独的文档,然后手动访问不同的端口去查找不同的模块文档,例如用户是3000端口,订单是3100端口,商品是3200端口)。这样的实现实际上挺蠢的,对前端伙伴很不友好,对自己测试也不友好,因此今天要说的......
  • yum安装中关于Base.repo的报错问题
     用yum安装出现以下问题: 确认自己的DNS配置正确,而且可以用连接公网,测试如下: 查看repolist:是否为0,是的话继续下面操作yumrepolist备份原来的Base.repomv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup 下载阿里的yum安装的Bas......
  • 解决办法:hyper-v导出虚拟机到ESXI报错找不到磁盘:dev disk by-uuid 4b85b6e9-f0d1-4dc
    linux救援模式可以进入系统,发现UUID都是正常的。执行以下命令确认的:[root@localhost~]#cat/etc/fstabUUID=4b85b6e9-f0d1-4dc8-a9dd-aafad7b4354c/xfsdefaults00UUID=24c8c603-e6bd-453c-982f-79e9df3468fd/bootxfsdefaults00UUID=53608cf9-17c1-40c5-85ed-f88......
  • 解决 windows远程桌面报错“CredSSP加密数据库修正”
    在被远程的windows系统中执行以下步骤:win+r键-输入regedit回车找到路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters2.1CredSSP\Parameters如果不存在,右键System文件夹,选择“新建-项”,输入CredSSP,再右键CredSSP,新......
  • 【ORB_SLAM的安装报错】—— 使用./build.sh编译ORB_SLAM源码时出现报错:/usr/bin/ld:
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、/usr/bin/ld:找不到-lboost_serialization1.问题描述2.解决(1).下载源码(2).编译安装总结前言Boost库是一组由C++标准库的扩展库组成的集合,旨在为C++开发者提供高质量和功能丰......
  • QT6 CMake项目配置 (Visual Studio)
    QT6CMake项目配置(VisualStudio)上一节已经编译好了动态和静态的QT库,接下来在CMake中引入。这边主要介绍使用VisualStudio的配置方法测试环境首先使用VS创建一个项目来测试CMake能否正常使用。如果是首次打开VS会有个配置主题的界面,自己选一下就好了首先我们来创建一个C......
  • 电赛开发板之c2000 f28069m开发环境配置与报错because its compiler definition is no
    1.CSS报错Seedetailsbelow...  Error:Importfailedforproject'Example_2806xECap_Capture_Pwm'becauseitscompilerdefinitionisnotavailable.PleaseinstalltheC2000v22.6compilerbeforeimportingthisproject-click'View>CCSA......
  • 怎么彻底关闭Nacos?解决启动时Spring连接Nacos报错
    NacosNacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是阿里巴巴开源的一个项目,旨在帮助您发现、配置和管理微服务。Nacos提供了一系列丰富的特性集合,支持服务发现和服务健康监测、动态配置服务、服务元数据和流量管理等功能。主要功能服务......