gpt4 book ai didi

c - X11/xlib.h 给我 XClearWindow 错误

转载 作者:太空宇宙 更新时间:2023-11-04 08:27:58 29 4
gpt4 key购买 nike

我有这个程序是用 C 代码编写的。它是 hsetroot 的一个分支。我接受了它,然后向它添加了更多选项,以便可以操作设置到桌面的图像和颜色。用户对它有更多的控制权。它编译和安装没有任何错误。

我是在 32 位 Debian Linux 操作系统上完成的。然后我出去买了一台双核 64 位笔记本电脑(50 美元)安装 Linux 64 位。把我的程序拿出来除尘,也许再清理一下,只是为了 GP(通用目的)。

当我尝试在命令行上编译它时,我现在遇到错误并且它将不再编译。代码没有任何改变。因此不应看到任何错误。

尽管如此,我还是收到了这个错误,因为它无法完全编译。有趣的是,如果我使用 -m32 arg,我将得到一个不同的编译失败错误,然后如果我使用或不使用 -m46 arg。

无论是否使用 -m64 arg,我都使用此命令进行编译,然后出现以下错误。

 gcc `imlib2-config --cflags` `imlib2-config --libs` mhsetroot-v1.6.2.c -o myapp

然后得到这个错误

/usr/bin/ld: /tmp/cclrRrBO.o: undefined reference to symbol 'XClearWindow'
//usr/lib/x86_64-linux-gnu/libX11.so.6: error adding symbols: DSO
missing from command line collect2: error: ld returned 1 exit status

它告诉我 XClearWindow 未在头文件中定义。/usr/include/X11/xlib.h

extern int XClearWindow(
Display* /* display */,
Window /* w */

当我使用 -m32 arg 编译它时,我得到了这个错误

/development/c/mhsetroot$ gcc -m32  `imlib2-config --cflags` `imlib2- config --libs` mhsetroot-v1.6.2.c -o myapp

我收到这个错误

In file included from mhsetroot-v1.6.2.c:29:0:
/usr/include/X11/Xlib.h:38:23: fatal error: sys/types.h: No such file or directory #include <sys/types.h>

告诉 sys/types.h 现在有问题 --

给出的结果——自从我在 32 位 Linux 操作系统上执行此操作时没有问题以来,代码从未更改过。但现在在这个 64 位 Linux 操作系统上我遇到了问题。真正的问题是什么?因为这不是我的代码。

最佳答案

需要添加的命令行参数是 -lX11 以告诉它也链接 X11 ...(当我运行 32 位 Linux 时不需要,但现在在 64 位 linux N.I.W 中需要(否想法为什么)这摆脱了“命令行中缺少 DSO”链接错误。它现在编译时没有这些 -

关于c - X11/xlib.h 给我 XClearWindow 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550674/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com