我正在将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'发布于 2021-04-02 07:22:42
正确答案如下:
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
)https://stackoverflow.com/questions/66906557
复制相似问题