【发布时间】:2022-01-01 16:50:33
【问题描述】:
在尝试编译我的代码时,出现链接器错误:
对“xdg_popup_interface”的未定义引用
似乎是在尝试构建 wlr-layer-shell-v1-client-protocol.o 时发生的,我想,或者类似的,我明天得看看输出。
AFAIK xdg_popup 应该由 wayland-protocols 定义吗?我的 configure.ac.in 有这一行:
PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.13], [ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
我的 src/Makefile.am 有这个:
xfway_CFLAGS = \
$(WAYLAND_SERVER_CFLAGS) \
$(WAYLAND_PROTOCOLS_CFLAGS) \
$(LIBWESTON_CFLAGS) \
$(LIBWESTON_DESKTOP_CFLAGS) \
$(LIBINPUT_CFLAGS) \
$(XKBCOMMON_CFLAGS) \
$(EGL_CFLAGS) \
$(EVDEV_CFLAGS) \
$(GTK_CFLAGS) \
$(LIBXFCONF_CFLAGS)
xfway_LDADD = \
$(WAYLAND_SERVER_LIBS) \
$(WAYLAND_PROTOCOLS_LIBS) \
$(LIBWESTON_LIBS) \
$(LIBWESTON_DESKTOP_LIBS) \
$(LIBINPUT_LIBS) \
$(XKBCOMMON_LIBS) \
$(EGL_LIBS) \
$(EVDEV_LIBS) \
$(PIXMAN_LIBS) \
$(GTK_LIBS) \
$(LIBXFCONF_LIBS)
autotools 的输出没有列出 wayland-protocols 的 cflags 或 libs,这正常吗?虽然 autotools 检测到一个已安装的版本,但它肯定是安装的。
这是我的其余代码: https://github.com/adlocode/xfway
这似乎是提到xdg-popup的部分: https://github.com/adlocode/xfway/blob/master/protocol/wlr-layer-shell-unstable-v1.xml#L194
据我所知,所需的一切都在那里,我错过了什么?
更新: 是不是我必须使用wayland-scanner自己生成xdg-shell头文件?
【问题讨论】: