[英]X11/xlib.h giving me XClearWindow errors
我有用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操作系统上,我遇到了问题。 真正的问题是什么? 因为这不是我的代码。
需要添加的命令行arg是-lX11以告诉它也链接X11 ...(当我运行32位Linux时不需要,但是现在在64位Linux NIW中需要(不知道为什么))这摆脱了“命令行中缺少DSO”链接错误。现在,编译时没有任何错误-
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.