首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用X11 (c++)链接目标失败

使用X11 (c++)链接目标失败
EN

Stack Overflow用户
提问于 2021-04-01 22:37:29
回答 1查看 48关注 0票数 0

我正在将CMake C++项目转换为介子。只剩下一件事可以让它正常运行。我在我的项目库中使用了一个X11库。

使用CMake,项目链接可以正常工作:

代码语言:javascript
复制
...

target_link_libraries(hamster ui util ${GTKMM_LIBRARIES} ${X11_LIBRARIES} -lX11 -lXtst -lXext)

如何在介子项目中添加-lX11 -lXtst -lXext标志?我尝试了一些解决方案,如link_args,但没有任何帮助。我收到:

代码语言:javascript
复制
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'
EN

回答 1

Stack Overflow用户

发布于 2021-04-02 07:22:42

正确答案如下:

代码语言:javascript
复制
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
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66906557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档