ld: cannot find -lxxx终极解决方法

这篇具有很好参考价值的文章主要介绍了ld: cannot find -lxxx终极解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这是因为某些库比如libxxx.so在编译时没有找到,排查时有以下几个思路:

  1. libxxx.so文件是否确实存在
  2. libxxx.so存放目录是否已经包含进项目
  3. 可以通过以下命令查看系统如何查找libxxx.so文件的具体路径
ld -lxxx --verbose

lpthread为例,如下系统在第四次查找时找到了对应的文件:

ld -lpthread --verbose
# 系统查找路径如下:
ld: mode elf_x86_64
attempt to open /usr/local/lib/x86_64-linux-gnu/libpthread.so failed
attempt to open /usr/local/lib/x86_64-linux-gnu/libpthread.a failed
attempt to open /lib/x86_64-linux-gnu/libpthread.so failed
attempt to open /lib/x86_64-linux-gnu/libpthread.a succeeded

附一些常见gcc参数备忘:文章来源地址https://www.toymoban.com/news/detail-522330.html

-c 只编译并生成目标文件
-IDIRECTORY  指定头文件搜索路径为DIRECTORY,即.h文件所在目录
-LDIRECTORY 指定额外库函数的搜索路径为DIRECTORY,即.so文件所在目录
-lLIBRARY 指定额外库函数的LIBRARY,用了libcurl.so就要添加 -lcurl
-o 指定生成文件
-shared 生成共享目标文件,即生成.so文件
-g debug版本
-w 不生成警告
-Wall 生成警告

到了这里,关于ld: cannot find -lxxx终极解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux的Qt编译出现:-1: error: cannot find -lGL问题的解决方法

    Qt是支持跨平台的C++图形用户界面应用程序开发框架,在一个平台上开发好应用程序可以在多个平台方便移植。 在将windows平台上开发的Qt界面程序移植到Linux Ubuntu系统中,在构建项目时出现以下编译问题: error: cannot find -lGL。 即,没找到libGL.so 库。以下两个方法都可以解决问

    2024年02月07日
    浏览(34)
  • 全网多种方法解决idea中报出的Cannot find declaration to go to的问题

    今早下载一新项目,打开之后,点击对应的代码时,却报出如下错误: 即 Cannot find declaration to go to 。 Cannot find declaration to go to 翻译成中文是 找不到要转到的声明 。 因为我在下载完代码后,在 idea 编辑器中,使用如下命令创建并切换我的分支时,才报出这个错误: idea 切换

    2024年02月07日
    浏览(43)
  • 关于 Error: Cannot find module ‘webpack/lib/RuleSet‘ 的详细解决方法(亲测有效)- 以及删除脚手架的方法

          对于出现的这个错误,之前我也尝试了网上的多种解决方案,最终经过测试后,是通过将原来的 @vue/cli  版本降级到 4.5.15 版本,最后再重新安装 node_modules 包 才得以解决。      下面是我将介绍怎么安装 4.5.15 版本的脚手架等。 (1)首先需要卸载全局安装的 @vu

    2024年02月08日
    浏览(39)
  • 使用vite-plugin-style-import插件报错Cannot find module ‘consola‘和解决方法

    使用的 Vite创建的项目,使用 unplugin-vue-components 来进行按需加载。但是此插件无法处理非组件模块,如 message,这种组件需要手动加载,如: 由于已按需导入了组件库,因此仅样式不是按需导入的,因此只需按需导入样式即可。 使用 vite-plugin-style-import 可以帮助我们按需引

    2024年02月15日
    浏览(29)
  • 【无标题】Cannot find reference ‘imread‘ in ‘__init__.py‘报错的解决方法

      整了好几天终于搞好了 直接写出步骤: 1你的cv2,解释器的路径必须是英文的,我的user的文件在刚买来的时候用的中文名,费了好大劲才改回来,详情请看[(怎么修改电脑的用户名? - 知乎) 2.在轮子网站下载对应版本的轮子https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 注意下载

    2024年02月06日
    浏览(28)
  • 安装vite框架,报错“Cannot find module ‘./App.vue‘ or its corresponding type declaration” 问题解决方法

    代码编辑器:vscode ,使用vue3,所以安装了 Volar 插件,可以使 vue 代码高亮显示,不同颜色区分代码块,以及语法错误提示等 提示:如果使用的是vue2,则使用 Vetur 插件;使用 vue3 的话 ,要禁用 Vetur 插件,然后用 Volar 插件。两个插件不要同时使用,会冲突。 报错描述: 安装

    2024年02月11日
    浏览(41)
  • Linux 用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法

    如下: 出现这个问题是因为yum在安装包的过程中,虽然已经联网,但是没法解析远程包管理库对应的域名,所以我们只需要在网络配置中添加上DNS对应的ip地址即可。 vi /etc/sysconfig/network-scripts/ifcfg-ens33 或者 (看你们是配置的哪个名称,是ens33还是eht0 选择对应名字的命令即可

    2024年02月09日
    浏览(36)
  • VScode中下载了插件但是无法找到SSH Target连接服务器的解决方法(CANNOT find SSH Target in remote explorer)

    VSCode版本vscode version:(version 1.82) 已下载扩展installed extensions: Remote - SSH v0.106.4 Remote - SSH: Editing Configuration Files v0.86.0 Remote Development v0.24.0 WSL v0.81.3         几天前我从pycharm转战vscode,在连接服务器时遇到了一些问题。根据一些较为古早的教程,应当下载上述的几个扩展插

    2024年04月25日
    浏览(34)
  • Cannot find module ‘node:fs‘ 解决

    问题分析: 根据分析,原因是 Node.js版本太低导致 的(也可以说是cnpm版本太高),由于低版本的Node.js对于promises的引入方式与高版本的是不一样,而cnpm版本太高的话,Node是不支持’fs/promises’引入方式的 对于Mac电脑在终端输入: 在这里插入代码片(全局安装n模块) 这一步

    2024年02月12日
    浏览(34)
  • Error: Cannot find module ‘webpack‘ 问题解决办法

    这句话的意思是:没有找到webpack模块。 就算之前你装了webpack,那肯定是非全局安装 所以要全局安装 npm install --save-dev webpack 问题解决

    2024年02月11日
    浏览(96)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包