【发布时间】:2016-11-25 16:48:39
【问题描述】:
我是 CMake 和 DBus 的新手。我按照指南here 编译和执行一个基本程序。
我遇到的第一个问题是我的程序找不到
<dbus/dbus.h>
我通过在我的 CMakeList.txt 中添加一些包含目录来解决这个问题。 目前,我的 CMakeLists.txt 如下所示:
...
include_directories(/usr/lib/)
include_directories(/usr/include/dbus-1.0/)
include_directories(/usr/lib/x86_64-linux-gnu/dbus-1.0/include)
include_directories(/usr/include/glib-2.0)
include_directories(/usr/lib/x86_64-linux-gnu/glib-2.0/include/)
set (LIBS
dbus-1
dbus-glib-1
)
add_executable(mydbus mydbus.cpp)
target_link_libraries(mydbus ${LIBS} )
现在,我的程序抱怨找不到 dbus-arch-deps.h
/usr/include/dbus-1.0/dbus/dbus.h:29:33: fatal error: dbus/dbus-arch-deps.h: No such file or directory
#include <dbus/dbus-arch-deps.h>
我知道解决方案是使用正确的命令行标志或 pkg-config。正如here 和许多其他帖子所讨论的那样。
但是,我不知道如何配置 CMakeLists.txt 以获得类似的效果。
我的猜测是将 find_package(dbus-1) 之类的内容添加到 CMakeLists.txt 中。如果这是正确的,我将不得不编写自己的 Finddbus-1.cmake。这听起来正确吗?还是有更简单的方法?
我将不胜感激。
【问题讨论】: