如何解决使用 X11 (c++)
我正在将 CMake C++ 项目转换为介子。剩下的一件事是正确运行它。 我在我的项目库中使用了一个 X11 库。
使用 CMake,项目链接工作正常:
...
target_link_libraries(hamster ui util ${GTKMM_LIBRARIES} ${X11_LIBRARIES} -lX11 -lXtst -lXext)
如何向介子项目添加 -lX11 -lXtst -lXext
标志?我尝试了一些解决方案,例如 link_args
,但没有帮助。我收到:
ninja: Entering directory `build'
[17/19] Linking target src/ui_lib/libui.so.
FAILED: src/ui_lib/libui.so
/home/repos/project/build/../src/ui_lib/ui/window/WindowBody.cpp:583: undefined reference to `XTestGrabControl'
解决方法
以下正确答案:
gtkmm_dep = dependency('gtkmm-3.0')
x11_dep = dependency('x11')
xtst_dep = dependency('xtst')
xext_dep = dependency('xext')
ui = library('ui',dependencies : [gtkmm_dep,x11_dep,xtst_dep,xext_dep,util_dep],sources : [
'ui/window/WindowBody.h','ui/window/WindowBody.cpp',]
)
ui_dep = declare_dependency(
include_directories : include_directories('.'),link_with : ui
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。