Clang 与 .so 文件链接

2023-11-23

我不断得到

ld: library not found for -lchaiscript_stdlib-5.3.1.so
clang: error: linker command failed with exit code 1 (use -v to see invocation)

当尝试链接到.so file.

我正在使用这个命令:

clang++ Main.cpp -o foo -L./ -lchaiscript_stdlib-5.3.1.so

我究竟做错了什么?

File libchaiscript_stdlib-5.3.1.so与文件位于同一目录中Main.cpp。我以为-L./会添加.so到库搜索路径。


是的-L选项添加搜索路径,但链接器添加.so (or .a) 后缀本身(就像它添加了lib字首)。所以你只需要有-lchaiscript_stdlib-5.3.1链接器会找到它。

您也可以跳过路径的添加,直接链接到文件:

clang++ Main.cpp -o foo libchaiscript_stdlib-5.3.1.so

请注意,如果该库不在运行时链接程序的路径中,则运行时链接程序(运行程序时实际加载共享库的程序)可能无法找到该库。您可以告诉(编译时)链接器在生成的程序中添加共享库路径的路径:

clang++ Main.cpp -o foo libchaiscript_stdlib-5.3.1.so -Wl,-rpath,/absolute/path

The -Wloption 告诉编译器前端将选项传递给链接器,链接器选项-rpath添加运行时链接器搜索路径的路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Clang 与 .so 文件链接 的相关文章

  • std::list::clear 是否会使 std::list::end 迭代器无效?

    检查这个代码 include stdafx h include
  • 当其源是 https uri 时如何使 wpf MediaElement 播放

    在 wpf 独立应用程序 exe 中 我在主窗口中包含了 MediaElement
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • .pdbs 会减慢发布应用程序的速度吗?

    如果 dll 中包含 pdb 程序调试 文件 则行号将出现在引发的任何异常的堆栈跟踪中 这会影响应用程序的性能吗 这个问题与发布与调试 即优化 无关 这是关于拥有 pdb 文件的性能影响 每次抛出异常时都会读取 pdb 文件吗 加载程序集时
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • DataGridView 列中的数字文本框

    我有一个DataGridView 我想要它的第一列或任何所需的列 其中有textboxes在其中 成为NUMERIC ONLY 我目前正在使用这段代码 private void dataGridViewItems EditingContro
  • 为什么 C# 中同一类型的隐式和显式运算符不能共存? [复制]

    这个问题在这里已经有答案了 为什么同一类中两个相同类型的运算符 显式和隐式 不能共存 假设我有以下内容 public class Fahrenheit public float Degrees get set public Fahrenhe
  • C# Winforms Designer 无法打开,因为它无法在同一程序集中找到类型

    我收到以下错误 找不到类型 My Special UserControl 请确保引用包含此类型的程序集 如果此类型是您的开发项目的一部分 请确保已使用当前平台或任何 CPU 的设置成功构建该项目 但没有任何意义的是My Special Us
  • 关闭整数的最右边设置位

    我只需要关闭最右边的设置位即可 我的方法是找到最右边位的位置 然后离开该位 我编写这段代码是为了这样做 int POS int n int p 0 while n if n 2 0 p else break n n 2 return p i
  • 从点云检测平面集

    我有一组点云 我想测试3D房间中是否有角落 所以我想讨论一下我的方法 以及在速度方面是否有更好的方法 因为我想在手机上测试它 我将尝试使用霍夫变换来检测线 然后我将尝试查看是否有三条线相交 并且它们也形成了两个相交的平面 如果点云数据来自深
  • 将 2 个字节转换为整数

    我收到一个 2 个字节的端口号 最低有效字节在前 我想将其转换为整数 以便我可以使用它 我做了这个 char buf 2 Where the received bytes are char port 2 port 0 buf 1 port
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • 使用 Unity 在 C# 中发送 http 请求

    如何使用 Unity 在 C 中发送 HTTP GET 和 POST 请求 我想要的是 在post请求中发送json数据 我使用Unity序列化器 所以不需要 新的 我只想在发布数据中传递一个字符串并且能够 将 ContentType 设置
  • 将日期时间显示为 MM/dd/yyyy HH:mm 格式 C#

    在数据库中 日期时间以 MM dd yyyy HH mm ss 格式存储 但是 我想以 MM dd yyyy HH mm 格式显示日期时间 我通过使用 String Format 进行了尝试 txtCampaignStartDate Tex
  • 在二进制数据文件的标头中放入什么

    我有一个模拟 可以读取我们创建的大型二进制数据文件 10 到 100 GB 出于速度原因 我们使用二进制 这些文件依赖于系统 是从我们运行的每个系统上的文本文件转换而来的 所以我不关心可移植性 当前的文件是 POD 结构的许多实例 使用 f
  • Unity,c++ 本机插件字节数组不匹配

    在我的 C 本机插件中 我有一个调用 vector
  • 运行 xunit 测试时无法将输出打印到控制台窗口

    public class test2InAnotherProject private readonly ITestOutputHelper output public test2InAnotherProject ITestOutputHel

随机推荐

  • 如何将 GestureDetector 附加到 ListPreference?

    附加一个的挑战手势检测器 to a 列表首选项是 2 倍 获取仅在preferences xml中定义的ListPreference的句柄 即未在Java代码中实例化 ListPreference 既不是 View 也不是 Activity
  • GLFW3 - 对 XRR 的未定义引用

    我正在尝试编译一个非常简单的OpenGL程序使用 GLFW3 尽管链接了我认为必要的所有内容 但我还是收到了大量未定义的引用 usr local lib libglfw3 a x11 gamma c o In function glfwIn
  • 使用虚拟继承的地址未对齐

    以下明显有效的代码使用 UndefinedBehaviorSanitizer 清理程序产生未对齐的地址运行时错误 include
  • TSQL:FOR XML PATH('') 无法分组

    我正在尝试使用特定列对列值进行分组FOR XML PATH 在 TSQL 中 这是两种情况的结果 请注意 没有 XML 代码 即 SELECT FROM xml 与 XML 代码相同 Class Animals Asteroidea Sta
  • 如何获取用户的交互式输入并在输入时能够使用箭头键?

    当我执行 raw input 并输入值时 我无法使用箭头键来更改内容 有什么方法可以做到这一点吗 感谢 readline 模块有助于行编辑功能 如何使用readline模块 只需导入 readline 模块即可 尝试加载 readline
  • 如何在QScrollArea中隐藏滚动条?

    如何隐藏滚动条QScrollArea 目前我使用的是hide 返回的滚动条上的方法QScrollArea horizontalScrollBar and QScrollArea verticalScrollBar 但为滚动条保留的空间仍然存
  • 错误 MSB3147:找不到所需的文件“setup.bin”发布到本地失败

    在网上搜索并讨论这个问题之后在这里聊天 我终于对一个旧错误提出了一个新问题 我在 Windows 10 上使用 Visual Studio Enterprise 2015 有关此问题的问题和答案来自 2011 年MSBuild 错误 MSB
  • Spark 多类分类示例

    你们知道在哪里可以找到 Spark 中多类分类的示例吗 我花了很多时间在书籍和网络上搜索 到目前为止我只知道根据文档的最新版本这是可能的 ML Spark 2 0 推荐使用 我们将使用与下面 MLlib 中相同的数据 有两个基本选项 如果E
  • 将 Java 日期字符串转换为 javascript 日期 [重复]

    这个问题在这里已经有答案了 当我通过 JSON 从 Java 向 Javascript 发送日期时 它会发送如下内容 var ds 11 07 47 13 01 2011 JavaScript 无法将此字符串解析为日期 var d new
  • 如何在 django ORM 的 From 子句中编写子查询

    我想使用 django orm 编写这个查询 SELECT depname empno salary enroll date FROM SELECT depname empno salary enroll date rank OVER PA
  • 如何在tomcat服务器上部署应用程序

    我想将 myapp 部署在 tomcat 服务器中 我知道一种方法是从 webapps 中删除 Root 文件夹并将我的 app war 重命名为 ROOT WAR 但我不想这样做 我想像当用户以 www xxx com 访问我的应用程序时
  • php soap 获取 http 标头时出错

    我正在编写一个通过 SOAP 连接处理大量数据的 PHP 脚本 如果没有遇到任何错误 脚本的总运行时间预计需要几天 我遇到的问题是脚本将运行一段时间 从一小时到一天不等 然后 SOAP 连接将因错误而终止 error fetching ht
  • 如何发现内容被截断?

    我正在尝试构建一个博客应用程序 问题是当我在模板中使用标签 truncatewords html 来截断长度超过指定字数的帖子时 我需要通过一些标题链接到完整的帖子 例如 阅读更多 截断后 所以我应该知道帖子是否被截断 P S 这是解决问题
  • 我应该如何处理无法通过lines()读取的Perl 6 $*ARGFILES?

    我正在玩lines它从您在命令行上指定的文件中读取行 for lines put 如果它无法读取它抛出的文件名之一X AdHoc 有一天也许它会有更好的异常类型 这样我们就可以用 path方法 好吧 所以抓住这一点 try CATCH de
  • WWW 和非 www 站点

    我有一个域说http www testexample com 当我登录到http www testexample com并回到http testexample com在浏览器中 不显示登录的用户信息 我知道上述两者的处理方式不同 因此不会保
  • 如何在SWT表中始终显示垂直滚动条?

    即使表是空的 是否也可以在 SWT 表中始终显示垂直滚动条 通过始终显示 可能禁用的 垂直滚动条 可以避免当列使用时最后一列被部分隐藏ColumnWeightData用于布局 我尝试用以下命令初始化表SWT V SCROLL或使用table
  • EF Core / DbContext > 将自定义类型映射为主键

    使用 Fluent api 如何将自定义类型映射为 DbContext 类的 OnModelCreating 方法中的主键 我正在尝试使用 EF Core 为以下实体构建模型 public class Account public Acco
  • Linux 命令行调用没有从 os.system 返回它应该返回的内容?

    我需要对 linux 进行一些命令行调用并从中获取返回 但是按如下方式执行只是返回0当它应该返回时间值时 例如00 08 19 我正在常规命令行中测试完全相同的调用 它返回时间值00 08 19所以我对我做错了什么感到困惑 因为我认为这就是
  • BufferQueue已被废弃:用TextureView播放视频时

    每次我暂停我的活动 实际上是片段 以转到另一个应用程序时 在使用 onResume 返回时 我尝试恢复视频播放 但它不播放 我得到一个空白屏幕 经过调查 我在 Logcat 中看到以下内容 E BufferQueueProducer unn
  • Clang 与 .so 文件链接

    我不断得到 ld library not found for lchaiscript stdlib 5 3 1 so clang error linker command failed with exit code 1 use v to s