2017-07-30 70 views
0

已經安裝libwnck-3-dev的,但試圖編譯時得到:安裝libwnck-3-dev的,但仍然提示錯誤mising libwnck.h

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

這是CmakeList.txt。這條道路/usr/include/libwnck-3.0/libwnck/libwnck.h

+0

我需要了解更多信息。編譯器通常在包含路徑中調用somthing,他們在這裏查找庫。該路徑上的'libwnck/libwnck.h'?什麼OS?什麼編譯器(包括版本)?文件在哪裏安裝?什麼是編譯器的包含路徑?也請粘貼包含您正在使用的#include指令的代碼片段。嘗試'man gcc' – djhaskin987

+0

已更新的問題 – stsdc

回答

0

在我的情況下,我必須添加${WNCK_CFLAGS}add_definitions()${WNCK_LIBRARIES}link_libraries()

2

看你的配置文件下

文件存在,它出現在你的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包文件。

相關問題