![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cmake
lifei_0001
耕种的老农
展开
-
Cmake笔记
#指定运行时加载的路径SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) SET(CMAKE_INSTALL_RPATH "\${ORIGIN}/lib") #指定运行时动态库的加载路径,ORIGIN指运行文件所在目录find_package#静默查找find_package(PackageName QUIET)原创 2021-08-06 11:00:28 · 137 阅读 · 0 评论 -
libc.so.6/glibc交叉编译
不同的系统版本libc.so.6链接的库libc库都不同,比方说ubuntu18是libc-2.27.so,ubuntu20则是libc-3.31.so。x86_64平台的库网上比较容易下载到,源码编译也比较简单,就不说了,这里说一下交叉编译方法,以及自己遇到的问题。官网glibc不同版本源码下载地址:http://mirrors.nju.edu.cn/gnu/libc/我编好的glic-2.30的库:https://download.csdn.net/download/lifei_0001原创 2020-08-25 09:08:07 · 4069 阅读 · 0 评论 -
internal compiler error
linux 下编译时出现internal compiler error: Killed (program cc1plus),大致原因是gcc在编译的时候会大量使用内存,内存不足导致编译错误,解决方法就是加一个交换分区。1. 创建分区文件//创建一个1M x 1024 = 1G 的文件sudo dd if=/dev/zero of=/swapfile bs=1M count=10242. 将上个文件生成Swap 文件sudo mkswap /swapfile3. 激活swap文件原创 2020-05-23 09:33:40 · 2820 阅读 · 0 评论 -
Cmake生成动态库问题
为什么我生成的动态库里找不到类或符号。在使用时编译器会报未声明的定义? 因为我们在使用Cmake组织项目文件时,习惯于将特定功能放在不同的目录,在不同的目录生成Cmake的子项目。子项目生成*.a文件,然后再在根项目链接各子项目。这个时候由于静态库的特点就会出一些问题。 我们在根项目源文件里没有使用某个类,而在引用动态库时又用到了这个类,这是就会出现文章开头的问题。由于静态库...原创 2020-04-21 09:42:22 · 638 阅读 · 0 评论