我正在尝试使用以下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告诉编译器应该从系统目录中的某个位置包含文件?
我知道我缺少一些基本知识,但我不知道要做什么。
答案 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将源文件添加到项目中。