CXX
  • 2024-07-03[debug]解决cmake编译报错:can not be used when making a PIE object:recompile with -fPIC
    问题描述最近在跟施磊老师的高性能服务器项目,使用make命令后一直报错以下问题解决方法报错一大堆recompilewith-fPIC,多半是链接静态库是出错了。根据网上经验,在CmakeLists文件中加入-no-pie,但是两种方法进行尝试后都没有效果。#第一种方法add_compile_options(-fPIC)#
  • 2024-06-17【CMake】变量
    1、CMAKE_CXX_STANDARD3.1版本新增target属性CXX_STANDARD的默认值。指定使用的C++规范。可选值如下:98:C++9811:C++1114:C++1417:C++1720:C++2023:C++23如果CXX_STANDARD指定的标准编译器不支持时,则会自动向下调整为编译器支持的版本,如果不想让标准自动调整,可以使用C
  • 2024-05-28iceoryx源码阅读(四)——共享内存通信(二)
    目录1 队列数据结构2 共享内存获取2.1 PublisherImpl::loan2.2PublisherImpl::loanSample2.3 PublisherPortUser::tryAllocateChunk2.4ChunkSender::tryAllocate3 消息发送逻辑3.1PublisherImpl::publish3.2PublisherPortUser::sendChunk3.3ChunkSender::send3.4ChunkDistri
  • 2024-05-17CMake Tutorial
    step1theminalprojectcmake_minimum_required(VERSION3.10)project(Tutorial)add_executable(Tutorialtutorial.cxx)specifyingc++standardset(CMAKE_CXX_STANDARD11)set(CMAKE_CXX_STANDARD_REQUIREDTrue)projectversionproject(TutorialVERSION1.0)
  • 2024-05-13cmakelist的一个例子
    一个例子,仅做参考用: CMAKE_MINIMUM_REQUIRED(VERSION3.12)set(ProjName"NetworkTest")project(${ProjName})string(FIND${CMAKE_CURRENT_BINARY_DIR}"/"pos0REVERSE)MATH(EXPRpos0${pos0}+1)string(SUBSTRING${CMAKE_CURRENT_BINARY_DIR}${po
  • 2024-05-08iceoryx源码阅读(八)——IPC通信机制
    目录1 整体结构2 序列化与反序列化3 类Unix系统的实现3.1 发送函数send3.2 接收函数receive4 Windows系统的实现4.1 发送函数send4.2 接收函数receive5 Roudi的监听逻辑1 整体结构通过前面的介绍,订阅者、发布者与Roudi守护进程之间也需要通信,如上文介绍的,请求Roudi守护进村创建
  • 2024-04-14编译优化学习
    转自:https://juejin.cn/post/69331807676567388241.介绍代码->词法语法分析->语义分析->中间代码生成->目标代码生成编译器:中间代码生成。编译器会尝试对中间代码进行优化,通过减少无效或冗余的代码、计算强度优化等手段,以助于减少最终生成的指令数,或使用更高效的指
  • 2023-12-28elf与动态库大小裁剪
    老板最近看拼多多的包挺小的,扔了一篇文章过来让我们优化优化各自的动态库,美团这篇关于动态库大小缩减的文章,说的极好哈哈:https://tech.meituan.com/2022/06/02/meituans-technical-exploration-and-practice-of-android-so-volume-optimization.html#按需导出符号对库大小影响大
  • 2023-11-07Makefile
    代码Version1点击查看代码hello:main.cppprinthello.cppfatorial.cppg++-ohellomain.cppprinthello.cppfactorial.cpp代码Version2点击查看代码CXX=g++TARGET=helloOBJ=main.oprinthello.ofactorial.o$(TARGET):$(OBJ)$(CXX)-o$(TARGET)
  • 2023-11-02在CMake中配置使用Intel One API并启用OpenMP(阶段2)
    本示例尝试使用CMake配置使用IntelOneAPI编译器编译支持OpenMP的程序。环境VisualStudio2022CommunitywithC++desktopIntelOneAPI2023.2withVSintergrationCMake3.27.7样例程序代码OpenMPDemo.cpp//File:OpenMPDemo.cpp//Coding:utf-8#include<i
  • 2023-10-30cmake打印堆栈
    设置参数add_compile_options(-g)add_compile_options(-O0)add_compile_options(-no-pie)set(CMAKE_C_FLAGS"${CMAKE_C_FLAGS}-O0-g0")set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-O0-g0")set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-std=c++11
  • 2023-09-15简单介绍cmakelist的使用
    Windows平台1在文件夹中创建一个CPP文件;自己随便写一个主函数就行 写一个简单的c++main函数;2创建一个CMakeLists.txt文件,写上下列内容;可以使用notepad,会对一些字段自动补齐cmake_minimum_required(VERSION3.5FATAL_ERROR)Project(HELLOW-01LANGUAGESCXX)add_e
  • 2023-08-23编译Sophus报错: error: implicitly-declared 的参考解决方法
    一、问题描述自己在编译Sophus时遇到如下错误:/home/wong/Datum/third_party/Sophus-1.0.0-template/Sophus-1.0.0/test/core/test_so2.cpp:82:31:error:implicitly-declared‘Eigen::Map<constSophus::SO2<double>>::Map(constEigen::Map<constSophus::SO2<double&g
  • 2023-08-16SLAM十四讲 Sophus编译报错
    在学习SLAM十四讲的时候,需要使用Sophus,但是在编译Sophus的过程中,总是存在报错。在执行make-j2后,我遇到的错误提示其中有一段是:Eigen::Map<RxSO3Type>shallow_copy=map_of_rxso3;,还有cc1plus:allwarningsbeingtreatedaserrors解决的办法:打开CMakeLists.txt文件,修
  • 2023-08-13一个CPP Socket C/S程序
    虽然学了很多回了,但总是记不住。这里直接给个可以使用的CPPTCPsocket程序吧。使用cmake管理,但是我是个半吊子水平。在学习,例如CMakeTutorial程序结构PROG_HOME├──build #可以不自己创建,直接运行run.sh会给生成的。├──CMakeLists.txt #├──docs #
  • 2023-07-25CMake Error at CMakeLists.txt: No CMAKE_CXX_COMPILER could be found.
    系统环境:Ubuntu22.04.11.问题发生--TheCcompileridentificationisGNU11.3.0--TheCXXcompileridentificationisunknown--DetectingCcompilerABIinfo--DetectingCcompilerABIinfo-done--CheckforworkingCcompiler:/usr/bin/cc-skipped--
  • 2023-06-30pcl_catkin 下载pcl_src失败解决方法
    1.背景:在编译voxblox++时,需要依赖pcl_catkin,在编译过程中会下载pcl1.10.1的源码到pcl_src目录,但由于国内网络不畅或其他访问不可达的原因会编译失败,提示pcl这个仓库的地址无法访问,而我的情况是网页上可以访问,但就是clone不下来,如果你有类似的问题,或者你已经有了对应的源码包,可
  • 2023-06-18CMake官网教程学习
    简介本文档是根据CMake的官方教程学习的笔记,同时将教程中C++实现的代码更改为C语言实现。当前还未学习完。教程官网:CMakeTutorial—CMake3.27.0-rc1Documentation中文教程:教程—CMake3.26.4Documentation(cmake-doc.readthedocs.io)官方教程源码下载:https://cmake.o
  • 2023-06-08一次windows下使用cmake遇到的问题
    背景在windows下的cmake和mingw提供的make,在windows环境下进行了简单尝试,结果发现make的时候失败:#include<iostream>intmain(){std::cout<<"Hello,makefile."<<std::endl;return0;}CMakeList如下:project(test)add_executable(testtest.cpp)非常
  • 2023-05-30mongodb c++ driver安装踩坑记
     安装教程:https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/(1)“initializer_list”filenotfoundhttp://stackoverflow.com/questions/19493671/initializer-list-no-such-file-or-directorySinceyouareusing GCC-4.8 andyourproblemisthatyoud
  • 2023-05-26open mp c++
    FIND_PACKAGE(OpenMPREQUIRED)if(OPENMP_FOUND)message("OPENMPFOUND")set(CMAKE_C_FLAGS"${CMAKE_C_FLAGS}${OpenMP_C_FLAGS}")set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}${OpenMP_CXX_FLAGS}")
  • 2023-04-29Tool-CMake-A Simple CMake Example
    Tool-CMake-ASimpleCMakeExamplehttps://cmake.org/examples/Therearethreedirectoriesinvolved.Thetopleveldirectoryhastwosubdirectoriescalled./Demoand./Hello.Inthedirectory./Hello,alibraryisbuilt.Inthedirectory./Demo,anexecuta
  • 2023-04-18CMake 编译选项设置
    链接:https://blog.csdn.net/Huoon/article/details/108520571在CMakeLists.txt中可以通过修改CMake内置的环境变量来改变C或C++的编译选项.编译选项相关的CMake变量如下:CMAKE_C_FLAGS=CMAKE_C_FLAGS_DEBUG=-gCMAKE_C_FLAGS_MINSIZEREL=-Os-DNDEBUGCMAKE_C_FLAGS_REL
  • 2023-04-02mingw64 + nvim + coc.nvim + nvim-dap : C++ windows - 05
    PSC:\Users\dev\Desktop\cpp>cd.\build\PSC:\Users\dev\Desktop\cpp\build>cmake..-DCMAKE_BUILD_TYPE=Debug--Buildingfor:Ninja--TheCcompileridentificationisGNU12.2.0--TheCXXcompileridentificationisGNU12.2.0--Detect
  • 2023-03-09simpleini库的介绍和使用(面向业务编程-格式处理)
    simpleini库的介绍和使用(面向业务编程-格式处理)介绍simpleini是一个跨平台的ini格式处理库,提供了一些简单的API来读取和写入ini风格的配置文件。它支持ASCII、MBCS和Unic