GLFW3 - 对 XRR 的未定义引用

2023-11-23

我正在尝试编译一个非常简单的OpenGL程序使用 GLFW3。尽管链接了我认为必要的所有内容,但我还是收到了大量未定义的引用。

/usr/local/lib/libglfw3.a(x11_gamma.c.o): In function `_glfwInitGammaRamp':
x11_gamma.c:(.text+0x49): undefined reference to `XRRGetScreenResources'
x11_gamma.c:(.text+0x6a): undefined reference to `XRRGetCrtcGammaSize'
x11_gamma.c:(.text+0x81): undefined reference to `XRRFreeScreenResources'
/usr/local/lib/libglfw3.a(x11_gamma.c.o): In function `_glfwPlatformGetGammaRamp':
x11_gamma.c:(.text+0xce): undefined reference to `XRRGetCrtcGammaSize'
x11_gamma.c:(.text+0xf1): undefined reference to `XRRGetCrtcGamma'
x11_gamma.c:(.text+0x198): undefined reference to `XRRFreeGamma'
/usr/local/lib/libglfw3.a(x11_gamma.c.o): In function `_glfwPlatformSetGammaRamp':
x11_gamma.c:(.text+0x24c): undefined reference to `XRRAllocGamma'
x11_gamma.c:(.text+0x303): undefined reference to `XRRSetCrtcGamma'
x11_gamma.c:(.text+0x30f): undefined reference to `XRRFreeGamma'
/usr/local/lib/libglfw3.a(x11_init.c.o): In function `initExtensions':
x11_init.c:(.text+0x1a67): undefined reference to `XRRQueryExtension'
x11_init.c:(.text+0x1a91): undefined reference to `XRRQueryVersion'
x11_init.c:(.text+0x1b25): undefined reference to `XIQueryVersion'
/usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwSetVideoMode':
x11_monitor.c:(.text+0x177): undefined reference to `XRRGetScreenResources'
x11_monitor.c:(.text+0x19c): undefined reference to `XRRGetCrtcInfo'
x11_monitor.c:(.text+0x1be): undefined reference to `XRRGetOutputInfo'
x11_monitor.c:(.text+0x3d0): undefined reference to `XRRSetCrtcConfig'
x11_monitor.c:(.text+0x3dc): undefined reference to `XRRFreeOutputInfo'
x11_monitor.c:(.text+0x3e8): undefined reference to `XRRFreeCrtcInfo'
x11_monitor.c:(.text+0x3f4): undefined reference to `XRRFreeScreenResources'
/usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwRestoreVideoMode':
x11_monitor.c:(.text+0x446): undefined reference to `XRRGetScreenResources'
x11_monitor.c:(.text+0x46b): undefined reference to `XRRGetCrtcInfo'
x11_monitor.c:(.text+0x4e0): undefined reference to `XRRSetCrtcConfig'
x11_monitor.c:(.text+0x4ec): undefined reference to `XRRFreeCrtcInfo'
x11_monitor.c:(.text+0x4f8): undefined reference to `XRRFreeScreenResources'
/usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwPlatformGetMonitors':
x11_monitor.c:(.text+0x55a): undefined reference to `XRRGetScreenResources'
x11_monitor.c:(.text+0x577): undefined reference to `XRRGetOutputPrimary'
x11_monitor.c:(.text+0x5cf): undefined reference to `XRRGetCrtcInfo'
x11_monitor.c:(.text+0x5ea): undefined reference to `XRRFreeCrtcInfo'
x11_monitor.c:(.text+0x659): undefined reference to `XRRGetOutputInfo'
x11_monitor.c:(.text+0x676): undefined reference to `XRRFreeOutputInfo'
x11_monitor.c:(.text+0x682): undefined reference to `XRRFreeCrtcInfo'
x11_monitor.c:(.text+0x703): undefined reference to `XRRFreeOutputInfo'
x11_monitor.c:(.text+0x70f): undefined reference to `XRRFreeCrtcInfo'
x11_monitor.c:(.text+0x733): undefined reference to `XRRFreeScreenResources'
/usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwPlatformGetMonitorPos':
x11_monitor.c:(.text+0x8a2): undefined reference to `XRRGetScreenResources'
x11_monitor.c:(.text+0x8c7): undefined reference to `XRRGetCrtcInfo'
x11_monitor.c:(.text+0x8ff): undefined reference to `XRRFreeCrtcInfo'
x11_monitor.c:(.text+0x90b): undefined reference to `XRRFreeScreenResources'
/usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwPlatformGetVideoModes':
x11_monitor.c:(.text+0x9ad): undefined reference to `XRRGetScreenResources'
x11_monitor.c:(.text+0x9cf): undefined reference to `XRRGetOutputInfo'
x11_monitor.c:(.text+0xb44): undefined reference to `XRRFreeOutputInfo'
x11_monitor.c:(.text+0xb50): undefined reference to `XRRFreeScreenResources'
/usr/local/lib/libglfw3.a(x11_monitor.c.o): In function `_glfwPlatformGetVideoMode':
x11_monitor.c:(.text+0xc28): undefined reference to `XRRGetScreenResources'
x11_monitor.c:(.text+0xc4d): undefined reference to `XRRGetCrtcInfo'
x11_monitor.c:(.text+0xca2): undefined reference to `XRRFreeCrtcInfo'
x11_monitor.c:(.text+0xcae): undefined reference to `XRRFreeScreenResources'
/usr/local/lib/libglfw3.a(x11_window.c.o): In function `createWindow':
x11_window.c:(.text+0x666): undefined reference to `XISelectEvents'
x11_window.c:(.text+0x6a8): undefined reference to `XRRSelectInput'
/usr/local/lib/libglfw3.a(x11_window.c.o): In function `processEvent':
x11_window.c:(.text+0x1711): undefined reference to `XRRUpdateConfiguration'

我链接的 CMake 标志:

-I/usr/local/include  -L/usr/local/lib -lglfw3  -lGLU -lGL -lGLEW  

我应该链接其他东西吗?


我在写问题时自己找到了答案。

由于输出的原因,我被误导相信我正在链接所有必要的内容

pkg-config --libs --cflags --print-requires glfw3 

这是

-I/usr/local/include  -L/usr/local/lib -lglfw3  

The --print-requiresflag 对输出没有任何影响,这看起来很奇怪。我搜索并打印了相应的.pc file.

sudo find / | grep "glfw3\.pc"
cat /usr/local/lib/pkgconfig/glfw3.pc 

我在那里找到了这个。

Requires.private:  x11 xrandr xi xxf86vm gl

它指示静态链接需要哪些库。我将它们相应的标志添加到 CMake 中并且它起作用了。我的错误是我错过了--print-requires-private执行 pkg-config 时的标志。

我希望这可以帮助某人节省一些时间。

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

GLFW3 - 对 XRR 的未定义引用 的相关文章

  • 更新面板工作速度非常慢

    我正在编写一个用户可以注册的应用程序 注册时 可以选择多个选项 并根据这些注册字段可见或不可见以及是否必需 我想出了一个想法 所有字段都将位于 updatePanel 中 当用户更改注册选项时 我将在服务器端设置这些字段的可见性 它可以工作
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 转换 const void*

    我有一个函数返回一个const void 我想用它的信息作为char 我可以将它投射为 C 风格的罚款 char variable但是当我尝试使用reinterpret cast like reinterpret cast
  • 如何在类文件中使用 Url.Action() ?

    如何在 MVC 项目的类文件中使用 Url Action Like namespace 3harf public class myFunction public static void CheckUserAdminPanelPermissi
  • 现代 C++ 编译器是否能够在某些情况下避免调用 const 函数两次?

    例如 如果我有以下代码 class SomeDataProcessor public bool calc const SomeData d1 const SomeData d2 const private Some non mutable
  • 有些有助于理解“产量”

    在我不断追求少吸的过程中 我试图理解 产量 的说法 但我不断遇到同样的错误 someMethod 的主体不能是迭代器块 因为 System Collections Generic List 不是迭代器接口类型 这是我被卡住的代码 forea
  • 如何将 .txt 文件中的数据转换为 xml? C#

    我在一个文本文件中有数千行数据 我想通过将其转换为更容易搜索的内容来轻松搜索 我希望 XML 或其他类型的大型数据结构 尽管我不确定它是否是最好的对于我的想法 每行的数据如下所示 第 31 册 托马斯 乔治 32 34 154 每本书都不是
  • 处理右值时的 insert 与 emplace

    std string myString std unordered set
  • Eigen 和 OpenMP:由于错误共享和线程开销而没有并行化

    系统规格 Intel Xeon E7 v3 处理器 4 插槽 16 核 插槽 2 线程 核心 Eigen 系列和 C 的使用 以下是代码片段的串行实现 Eigen VectorXd get Row const int j const int
  • 如何使用 ASP.NET Core 获取其他用户的声明

    我仍在学习 ASP NET Core 的身份 我正在进行基于声明的令牌授权 大多数示例都是关于 当前 登录用户的 就我而言 我的 RPC 服务正在接收身份数据库中某个用户的用户名和密码 我需要 验证是否存在具有此类凭据的用户 获取该用户的所
  • 获取没有显式特征的整数模板参数的有符号/无符号变体

    我希望定义一个模板类 其模板参数始终是整数类型 该类将包含两个成员 其中之一是类型T 另一个作为类型的无符号变体T 即如果T int then T Unsigned unsigned int 我的第一直觉是这样做 template
  • 在 VS 中运行时如何查看 C# 控制台程序的输出?

    我刚刚编写了一个名为 helloworld 的聪明程序 它是一个 C NET 4 5 控制台应用程序 在扭曲的嵌套逻辑迷宫深处 使用了 Console WriteLine 当我在命令行运行它时 它会运行并且我会看到输出 我可以执行其他命令并
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 模板外部链接?谁能解释一下吗?

    模板名称具有链接 3 5 非成员函数模板可以有内部链接 任何其他模板名称应具有外部链接 从具有内部链接的模板生成的实体与在其他翻译单元中生成的所有实体不同 我知道使用关键字的外部链接 extern C EX extern C templat
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • 将函数参数类型提取为参数包

    这是一个后续问题 解包 元组以调用匹配的函数指针 https stackoverflow com questions 7858817 unpacking a tuple to call a matching function pointer
  • 如何最好地以编程方式将 `__attribute__ ((unused))` 应用于这些自动生成的对象?

    In my makefile我有以下目标 它将文本 HTML 资源 编译 为unsigned char数组使用xxd i http linuxcommand org man pages xxd1 html 我将结果包装在匿名命名空间和标头保
  • 如何在 C# 中创建异步方法?

    我读过的每一篇博客文章都会告诉您如何在 C 中使用异步方法 但由于某些奇怪的原因 从未解释如何构建您自己的异步方法来使用 所以我现在有这段代码使用我的方法 private async void button1 Click object se
  • 如何在 sql azure 上运行 aspnet_regsql? [复制]

    这个问题在这里已经有答案了 可能的重复 将 ASP NET 成员资格数据库迁移到 SQL Azure https stackoverflow com questions 10140774 migrating asp net membersh

随机推荐

  • Instagram API 自定义图像宽度

    我正在尝试使用 Instagram API 设置 Instagram 中图像的自定义宽度 我正在使用主题标签来获取所有相关图像 我可以要求 Instagram 为我提供自定义图像尺寸吗 我知道有 3 种尺寸 缩略图 低分辨率 标准分辨率 这
  • Azure Keyvault 通过 ARM 添加功能 MSI

    我认为托管服务身份是一个很棒的概念 我喜欢 keyvault 然而 当我使用增量资源组部署的脚本时 为简洁起见 对示例进行了修改 type Microsoft KeyVault vaults name parameters keyvault
  • C# Xamarin OnClick 函数

    我正在做的是这个 Button button1 FindViewById
  • 如何以编程方式调整 ImageView 的大小

    我想在触摸 ImageView 时调整它的大小 就像在谷歌地图或移动浏览器中进行缩放一样 调整它的大小将是完美的 但如果只是触摸它 我可以调整它的大小就足够了 那可能吗 只需捕获触摸此 ImageView 的事件 然后调整高度和重量即可 t
  • 小时数相加或求和,例如 13:30+00:00:20=13:30:20 但如何呢?

    我想在日期时间值 可能存储字符串类型 上添加秒 00 00 02 或分钟 00 00 20 但是如何添加 例子 13 30 02 02 02 15 32 02 13 30 00 00 01 13 30 01 13 30 00 01 00 1
  • 将隐藏输入作为字符串抓取(使用 PHP 简单 HTML DOM 解析器)

    所以我有一个有 4 个输入 2 个文本 2 个隐藏的表单 我从名称中获取了两个文本输入值 即 get me two get me third 并且还获取了表单操作 get me php 我现在要做的是获取 2 个隐藏输入 而不是值 我想自己
  • Varchar(max) 列不允许作为 SQL Server 中的主键

    Varchar max 列不允许作为 SQL Server 中的主键 可以作为主键的 varchar 类型的最大长度是多少 这可能是一个不好的做法 但遇到了这种情况 900 字节是主键的最大长度 在我看来这是一个坏主意 为什么不使用代理键呢
  • 获取python程序的退出代码

    我正在 WindowsXP 上运行 python 程序 程序结束后如何获取退出代码 从 Windows 命令行 您可以使用 echo ERRORLEVEL 例如 C work gt python helloworld py Hello Wo
  • flutter 异步验证表单

    new TextFormField validator value async if value isEmpty return Username is required if await checkUser return Username
  • Angular-CLI 代理到后端不起作用

    https github com angular angular cli proxy to backend这是如何对后端进行代理的说明 我一步一步完成了所有操作 但请求仍然没有被代理 8080 我的 Express 后端 4200 我的 A
  • 无法自动装配服务

    我正在尝试从 FOSUserBundle Symfony3 4 实现 UserManager 服务 注册 php
  • 可在网络上打印的大型 PDF

    问题 我有一个 35mb 的 PDF 文件 共 130 页 我需要将其放到网上 以便人们每周可以打印其中的不同部分 我现在在 Amazon S3 上托管 PDF 文件 并被告知用户不喜欢在选择要打印的页面之前等待整个文件下载 我想我必须发挥
  • WPF:如何禁用选项卡导航而不同时禁用箭头键导航?

    我已经设定IsTabStop在我的窗口中的所有控件上设置为 false 这样当我按 Tab 键时 焦点不会移动 我需要 Tab 键来执行其他操作 但是这样做会破坏箭头键导航 我单击 a 中的一个项目ListView然后按向上 向下不会再更改
  • Git 贡献未显示在 GitHub 上

    我浏览了你的以下文章https help github com articles why are my contributions not showing up on my profile 因为贡献没有显示在我的个人资料上 至少可以说 我正
  • Java List 到 Map 转换

    我想转换一个Map
  • 为 C++ 库制作 Objective-C 包装器

    我正在尝试用 Objective C 制作一个包装器 这样我就不必在库类之外编写 C 了 库的主文件是LLAHProcessor h cpp 我的包装是LLAHProcessorWrapper h mm 它编译得很好 但是当我添加LLAHP
  • html/templates - 用
    替换换行符

    我正在加载一个包含换行符的文本文件 并将其传递给html templates 替换为 n with br 在加载的字符串中 它们被模板转义为 html lt br gt 并显示在浏览器中 而不是导致行返回 我怎样才能改变这种行为而不切换到t
  • Placeholder_2:0 既被馈送又被提取

    当我运行这段代码时 x tf placeholder tf int32 shape None 3 with tf Session as sess feed dict dict feed dict x np array 1 2 3 4 5 6
  • 如何将 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