【问题标题】:Installed libwnck-3-dev but still getting error about mising libwnck.h安装了 libwnck-3-dev 但仍然收到有关缺少 libwnck.h 的错误
【发布时间】:2017-07-30 18:04:43
【问题描述】:

已经安装了 libwnck-3-dev 但在尝试编译时得到:

fatal error: libwnck/libwnck.h: No such file or directory.

这里是CmakeList.txt

此路径下存在文件/usr/include/libwnck-3.0/libwnck/libwnck.h

【问题讨论】:

  • 我需要了解更多信息。编译器通常在包含路径中调用一些东西,它们会在其中查找库。 libwnck/libwnck.h 在那条路上吗?什么操作系统?什么编译器(包括版本)?文件安装在哪里?编译器的包含路径是什么?还请粘贴包含您正在使用的#include 指令的代码的 sn-p。试试man gcc
  • 更新问题

标签: linux cmake vala wnck


【解决方案1】:

查看您的个人资料,您似乎更擅长 javascript,所以如果您不介意,我会尝试告诉您这是如何工作的。

您使用#include <path/to/header.h>#include "path/to/header.h" 在C 和C++ 中包含代码。前者在标准编译器中查找该文件的包含路径(例如,/usr/include/path/to/header.h)。后者在相对于正在编译的源文件的路径中查找。

CMake 处理通过将所需路径放入编译器包含路径来确保头文件路径解析。

It looks like libwnck uses packageconfig(很不幸),在这里安装PC文件--> /usr/lib/x86_64-linux-gnu/pkgconfig/libwnck-3.0.pc

做一点谷歌搜索,it looks like you can use package config modules from cmake

pkg_search_module(<PREFIX> [REQUIRED] [QUIET] <MODULE> [<MODULE>]*) 检查给定的模块并使用第一个工作的模块

所以可能是这样的:

pkg_search_module(REQUIRED libwnck)

或者:

pkg_search_module(REQUIRED libwnck-3.0)

从信息上讲,您通常想要做的是查看find_package,但该 debian 包似乎没有安装 cmake 包文件。

【讨论】:

    【解决方案2】:

    就我而言,我必须将${WNCK_CFLAGS} 添加到add_definitions()${WNCK_LIBRARIES}link_libraries()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多