cmake + cpp:没有这样的文件或目录

时间:2019-09-30 06:26:09

标签: c++ cmake

我正在尝试使用以下cmake脚本在Linux上构建this "Hello World" wxWidgets example

cmake_minimum_required (VERSION 2.6)
project (wxL)

find_package(wxWidgets 3.0.0 REQUIRED
    COMPONENTS base core net xml html adv qa richtext
)

file(GLOB SOURCES "src/*.cpp")

add_executable(wxL ${SOURCES})

构建项目会产生此错误:

src/wxL.cpp:3:10: fatal error: wx/wxprec.h: No such file or directory

包含wx/wxprec.h中包含的文件可以在以下位置的磁盘上找到:

/usr/include/wx-3.0/wx/wxprec.h

此外,我从源代码构建的另一个程序包括相同的文件(也使用cmake)并且构建良好。

那么,如何使用cmake告诉编译器应该从系统目录中的某个位置包含文件?

我知道我缺少一些基本知识,但我不知道要做什么。

1 个答案:

答案 0 :(得分:1)

尽管找到了该软件包,但是您的可执行文件对此一无所知。
为了正确执行该可执行文件,它需要为您的程序包找到 header 文件以及 .so / .a 文件。以下示例将帮助您入门:

include_directories(${wxWidgets_INCLUDE_DIRS})

add_executable(wxL <add-source-files-here>)
target_link_libraries(wxL ${wxWidgets_LIBRARIES})    // links wxWidgets libraries to your executable

请注意,建议不要使用glob将源文件添加到项目中。