在linux系统下编译Qt动态链接库的一些问题:“ln: 无法创建符号链'lib*.so': 不支持的操作,”cannot find -lGL"

如何解决“ln: 无法创建符号链接 ‘/usr/bin/pip3‘: 文件已存在“错误问题 在计算机操作中,有时候会遇到各种各样的错误消息,其中一种常见的问题是在Linux系统中尝试安装或更新Python软件包管理工具pip时出现"ln: 无法创建符号链接 '/usr/bin/pip3': 文件已存在"的错误。这个问题可能让一些用户感到困惑,但幸运的是,它通常有相对简单的解决方案。在本文中,我们将详细介绍如何解决这个问题,包括备份现有pip3、删除冲突符号链接、重新创建正确的符号链接以及验证pip3的安装。跟随下面的步骤,您将能够轻松解决这个错误,并确保pip3在您的系统上正常工作。让我们开始吧! 阅读详情

Qt在linux系统下编译动态链接库的问题。

原始Qt工程是在Windows系统中用Qt 5.11编写。包括两部分:主程序(.exe)工程+动态链接库(.dll)工程。
在VM中创建了Ubuntu系统,并安装了Qt5.9.0版本(Qt 5.9.0 Linux 安装包的名称为 qt-opensource-linux-x64-5.9.0.run)
原本的思路是,在虚拟机和主机之间创建一个共享文件夹。把Qt工程放到共享文件夹中,在linux系统中直接用Qt 编译,编译完成后。回到win系统直接将编译结果拷贝走即可。

问题1:“ ln: 无法创建符号链接’lib*.so’: 不支持的操作”

在linux下编译dll工程时,无法生成*.so、.so.1、.so.1.0文件,只生成了*.so.1.0.0。报的错误是“ ln: 无法创建符号链接’lib*.so’: 不支持的操作”。
这个错误原因是:windows只能在NTFS文件系统创建硬链接,而且只有在同一文件系统中的文件才能创建硬链接。编译的dll工程源代码放在了windows和linux虚拟机的共享目录里。共享目录所在的文件系统和linux的文件系统并不是同一个文件系统,故而不能创建硬链接。将dll工程源代码移动到linux系统的文件夹中即可解决。

问题2:“ cannot find -lGL”

在linux下编译主程序工程时,出现“cannot find -lGL” ,“collect2:ld returned 1 exit status”错误。
这个错误原因是:Qt 找不到 OpenGL 的动态链接库(libGL.so)。一般是路径不对造成的。

Qt 默认在 /usr/lib/ 目录下查找动态链接库,但是很多 Linux 发行版将 OpenGL 链接库放在其它目录,例如我使用的ukylin,OpenGL 链接库位于 /usr/lib/x86_64-linux-gnu/ 目录。只要把 libGL.so 拷贝到 /usr/lib/ 目录,或者在 /usr/lib/ 目录下为 libGL.so 创建一个链接,就能解决问题。
另外,Linux 发行版自带的 OpenGL 链接库在后缀中添加了版本号,例如 libGL.so.1、libGL.so.1.7.0、libGL.so.1.3.1 等,但是 Qt 在链接阶段查找的 OpenGL 链接库是不带版本号的。
总起来说,我们需要在 /usr/lib/ 目录下为 OpenGL 链接库创建一个链接,并去掉版本号。
首先使用find /usr -name libGL*命令查找 OpenGL 链接库所在目录,

ukylin@ukylin-virtual-machine:~$ find /usr -name libGL*

然后使用ln -s创建链接(root 用户)。

ukylin@ukylin-virtual-machine:~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so

Linux 系统中可能存在多个版本的 libGL.so,为任意一个版本创建链接即可。
完成以上操作,再次启动 Qt,然后编译或者运行,就不会出现“cannot find -lGL”错误了。

实测可复现|2026 Cloudflare盾v4.0反反爬全实战:从JS/WASM逆向到JA3指纹伪装,手把手突破拦截(附完整逆向代码+避坑手册) 本文以2026年Cloudflare盾v4.0(集成Shield Synapse v2.0)为核心,全程以实战复盘为视角,拆解了从JS/WASM混合逆向、全维度指纹伪装(JA3+浏览器指纹)、人类行为模拟,到代理池搭建的全流程,整合了完整可复现的代码,所有步骤和踩坑点均为实测所得,无任何AI套话,新手也能跟着复现,最终实现爬取成功率从12%提升至95%+。 阅读详情

相关推荐

《机器学习》周志华_自学记录

第一章绪论## 1.1引言机器学习所研究的主要内容,是关于在计算机上从数据中产生"模型"(model)的算法,即"学习算法"(learning algorithm).在面对新的情况时(例如看到一个没剖开的西瓜),模型会给我们提供相应的判断(例如好瓜).如果说计算机科学是研究关于"算法"的学问,那么类似的,可以说机器学习是研究关于"学习算法"的学问.## 1.2基本术语:用于预测离散值,例如将样本分为“好瓜”或“坏瓜”。:用于预测连续值,例如西瓜的成熟度(如0.95、0.37)。

2201_75296678的博客 2531

/usr/local/lib/libz.so.1:-1: error: 无法添加符号: DSO missing from command line

linux 使用zlib库 在cmakelist.txt 中添加: target_link_libraries(pro -lz ) 编译通过

沉默老曹的博客 4660

手把手教你用Gazebo和VINS-MONO搞定VIO SLAM仿真(附Realsense D435i模型配置)

本文详细介绍了如何使用Gazebo和VINS-MONO构建VIO SLAM仿真环境,包括Realsense D435i模型的配置与集成。通过实战指南,帮助开发者快速搭建高保真仿真平台,优化VIO性能,并解决常见问题,适用于机器人感知与定位导航领域。

weixin_30682415的博客 159

Skynet服务器框架(一) Linux下的安装和启动

简介:Skynet主要工作是管理注册服务,并开启多线程协调服务之间的调用和通讯。框架核心:根据作者的描述,Skynet的核心功能就是解决一个问题: 把一个符合规范的C模块,从动态库(so文件)中启动起来,绑定一个永不重复(即使模块退出)的数字id做为其 handle 。模块被称为服务(Service),服务间可以自由发送消息。 每个模块可以向 Skynet 框架注册一个 callback 函数,用

linshuhe1的专栏 2万+

汇川PLC和PLC之间ModebusTCP通讯

然后在全局变量中创建相应的变量关联IW和QW的寄存器创建全部变量//AM402作为主站——读H3U(D12-D21)//AM402作为主站——写给H3U(D200-D209)或者使用数组的方式。

panjinliang066333的博客 3万+

Deepseek 10分钟化身理性荐股神器:触碰程序员不敢想的天花板

在这个消息疯狂、波动频繁的市场,“理性”两字显得弥足珍贵。通过Deepseek+AkShare+Aktools+Dify四位一体的方案,能帮我们降低信息搜集成本,并在短期投资领域搭建出一套“可解释、低门槛、易定制”的量化荐股流程。不要再盲目听小道消息或依赖情绪驱动,不妨给自己一个机会,让数据说话。而要注意的是,“理性荐股”并非万能,它只是工具,最终的收益还得依赖投资者自身对风险和机遇的权衡。祝大家都能在这股市里收获理性的底气,寻得更精准的入场时机。

qqxdh的博客 3751

ln: failed to create symbolic link ‘libavutil.so’: Operation not supported

最近在虚拟机中编译ffmpeg源码时候遇到了这个问题:ln: failed to create symbolic link ‘libavutil.so’: Operation not supported这个问题主要原因是在使用ln创建软连接时候失败了,因为这个文件系统是NTFS,windows上的,通过虚拟机挂载到linux上,所以并不支持ln操作。之前在网上搜索,发现只有两个方法,一个是先把代码...

dashuitongyao的博客 1万+

AIDC智算中心建设:资源池化核心技术解析

AI 应用的POD在运行的时候,通过池化运行时访问虚拟GPU、执行AI任务,池化运行时拦截对虚拟GPU的访问请求、转递给池化服务代理执行,池化服务代理通过向智算池化控制器查询虚拟GPU所对应的真实智算资源位置、规格,按查询结果分配智算资源、执行AI任务,如果真实的智算资源位于远程计算节点,则由本地池化服务代理将访问请求转递给远程计算节点上的池化服务代理处理,相关通信经由参数面网络。

u013891230的博客 2431

无法创建符号链接 权限不够_详细剖析Linux中ln软链接

详细剖析Linux中ln软链接要说清楚ln命令,必须先解释下ext文件系统是如何工作的。简单解释ext文件系统。ext4文件系统会把分区主要分为两大部分(见下图):1、小部分用于保存文件的inode信息。2、剩余的大部分用于保存block信息。(1)inode的默认大小为128 Byte。记录文件的权限、所有者和属组、大小、状态改变时间、最近一次读取时间、最近一次修改时间、数据真正保存的block...

weixin_39759155的博客 5010

【SAM2系列】windows单GPU复现时的bug解决记录

windows运行sam2,就感觉在开一艘破破烂烂的船,每走一步报一个错,bug源源不断的冒出来😭😭😭😭😭。

weixin_43571113的博客 1317

Understanding Lockup Cells

工具会分析扫描链和EDT逻辑之间的控制时序元素的时钟的时序关系,当必须要同步时钟并保持数据完整性时插入边沿触发寄存器(lockup cells)。可以使用report_edt_lockup_cells命令来展示工具已经插入的lockup cells的详细报告。

weixin_44954910的博客 1080

Linux下解压.tar文件出现“:无法创建到 “xxx” 的符号连接: 不支持的操作,tar: 由于前次错误,将以上次的错误状态退出”问题解决方案

VMware+ubuntu16.04+共享文件夹+windows10;将共享文件夹里面的.tar文件解压出现“:无法创建到 “xxx” 的符号连接: 不支持的操作,tar: 由于前次错误,将以上次的错误状态退出”问题。 输入: tar -xvf xxx.tar 现象: 解决方法: 一:使用管理员权限,加入-C解压到指定绝对路径 二:如果需要解压的文件是在VMvware虚拟机的共享文件夹中,则需要共享目录中的压缩包移动到linux虚拟机里再执行解压命令才行。 sudo -xvf

weixin_44476993的博客 8340

《ATF(TF-A)专题精讲》目录——146篇,完整覆盖整个ATF的官方文档

本文摘要介绍了Trusted Firmware-A (TF-A)项目的技术文档体系。主要内容包括:项目概述、组件解析(如ARM RAS/RME/CCA等安全技术)、系统设计(启动流程、中断管理、信任链等)、开发指南(构建环境、移植策略)、性能分析、平台支持(涵盖NXP、Marvell、Xilinx等主流芯片厂商)、开发流程规范以及安全通告(CVE漏洞分析)。文档体系全面覆盖了ARM安全固件的技术实现、硬件适配和开发实践,为开发者提供了从理论到实践的完整参考。

Linux内核架构师 1113

[操作系统]虚拟机技术笔记:分类区别与选型对比

它是一款针对Windows系统的增强型远程连接与终端工具集,核心用途是远程管理服务器和在本地模拟Unix/Linux命令环境,比如支持SSH连接远程Linux服务器、通过RDP连接Windows远程桌面,还能内置X服务器运行远程图形化应用。【在linux系统下编译Qt动态链接库的一些问题:“ln: 无法创建符号链'lib*.so': 不支持的操作,”cannot find -lGL" - 优快云 App】http://t.csdnimg.cn/4mzad。【Ubuntu安装时,界面显示不全?

qq_55948352的博客 596

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

make的时候出现:ln: 无法创建符号链接" ...... ": 不支持的操作

原因:进行编译的源码放在linux虚拟机和windows系统的共享目录下,windows下只能在NTFS文件系统创建硬链接,而且只有在同一文件系统中的文件才能创建硬链接,很明显,共享目录所在的文件系统和linux的文件系统并不是同一个文件系统,故而不能创建硬链接 解决方法:将共享目录中的源码移动到linux虚拟机里再执行make

daze_scarecrow的博客 1万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

解决方案——Linux下Qt编译或运行项目“cannot find -lGL”错误

在很多linux发行版系统的Qt安装完后,编译或运行项目会报出“cannot find -lGL”错误,即没找到libGL.so库(OpenGL的动态链接库),大部分系统都是默认安装该库的,但是不同的系统路径放置可能有差异,还有就是linux发行版本自带的libGL.so库会增加版本号后缀,因此,“cannot find -lGL”错误一般都是路径不对导致。创建完链接后,再执行qt编译过程,不再报错,可以正确运行程序,如下图所示。

qq_39209616的博客 6048

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Skynet 服务器开发 (一)Linux下的安装和启动

  引言: 一直都是从事客户端的开发工作,最近抽了点时间想了解一下服务器开发的相关知识,一番博客瞎逛之后,发现了一个不错的框架,云风大神的 skynet开源服务器框架,这不仅仅是针对于游戏服务器开发的框架,更是一个通用的服务器基础框架。 Skynet简介: Skynet 主要工作是管理注册服务,并开启多线程协调服务之间的调用和通讯。 1.框架核心: 根据云风博客的描述,Skynet 的...

省粮 1048

ln: 无法创建符号链接“ ...... “: 不支持的操作

现象: ln: 无法创建符号链接" … ": 不支持的操作 ***无法创建到" *****"的符号连接: 不支持的操作 可能发生在: ln 创建链接时; 解压缩文件过程中; 原因: 留意跨文件系统的ln操作, 已知实测: 虚拟机共享windows文件夹,在共享的文件夹内,不可以创建到linux本地目录的链接. 但可以在linux本地目录 创建到 共享目录的符号链接. 其他未测试. ...

@角色扮演# 2万+

ln: 无法创建符号链接_Linux ln命令教程,并提供创建符号链接的示例

ln: 无法创建符号链接Linux file systems provides different mechanism to make system administrators and applications developer’s life easier. Symbolic links are one of the mechanism. Symbolic links provides the...

cunjiu9486的博客 6093

解决问题:ubuntu下载arduino中显示 ln: 无法创建符号链接‘/usr/local/bin/arduino‘: 权限不够

当电脑输入:./install.sh 显示ln: 无法创建符号链接'/usr/local/bin/arduino': 权限不够 则将./install.sh改为:sudo ./install.sh

Yeji_itzy的博客 1121

安装llvm3.8.0时遇到的问题,FAILED: lib/libLTO.so or FAILED: lib/libclang.so.3.8

在llvm官方(http://llvm.org/docs/GettingStarted.html)给出的安装需求中,提到硬件:仅安装llvm需要1-3GB的空间。安装llvm和clang则需要15-20GB的硬盘空间。 Note that Debug builds require a lot of time and disk space. An LLVM-only build will need

lands92的专栏 2859

Linux ln命令、软链接和硬链接的区别

见:http://www.runoob.com/linux/linux-comm-ln.htmlLinux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘...

愿我如星君如月 ... 夜夜流光相皎洁 ... 1847

ln: 无法创建符号链接‘asm‘: 不支持的操作

[root@localhost u-boot-2012.10]# make s5p_goni_config Configuring for s5p_goni board… ln: 无法创建符号链接’asm’: 不支持的操作 make: *** [Makefile:716:s5p_goni_config] 错误 1

sinat_32152141的博客 2066

arm-eabi-g++: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found 解决方法

Ubuntu 18.04, 基于android4.4 源码编译时遇到的问题 使用的交叉编译器是: android-4.4_r1/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-g++ 编译过程中提示: arm-eabi-g++: fatal error: -fuse-linker-plugin, but liblto_plugin...

天天向上的专栏 1万+

Linux 系统下编译找不到动态链接库解决方法

linux 下“cannot find -l*”错误解决方法。

奇点.的博客 1372

HISIV3519交叉编译nginx服务器

最近需要在海思板子上编译nginx, 超级难编译, 特此记录: 我的测试服务器ubuntu 64位机, 但是海思的环境是32位,安装完成后没有显示报错,但是运行的时候就显示No such file or directory , 所以需要64位机支持32位 操作如下: pt-get update sudo apt install lib32z1-dev apt-get install lib32z1...

刘长福 1392
上一篇: 利用Qt多线程机制实现双路串口数据流的接收和发送(附工程源代码)
下一篇: matlab数据统计时的STD、RMSE计算方法
SmartTiger_CSL
博客等级 码龄8年 217粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值