【发布时间】:2019-09-30 06:26:09
【问题描述】:
我正在尝试在 Linux 上构建 this "Hello World" wxWidgets example,使用以下 cmake 脚本:
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 告诉编译器该文件应该从系统目录的某个位置包含进来?
我知道我缺少一些基本的东西,但我不知道是什么。
【问题讨论】:
-
如果可执行文件使用wxWidgets,你不需要告诉cmake吗?
-
是的,但是怎么做?这是我的问题。
-
请花些时间浏览the CMake documentation。您需要添加包含目录
/usr/include/wx-3.0并设置目标应链接的库。 -
它在wxWidgets site 上告诉你。
-
谢谢@trojanfoe,
include(${wxWidgets_USE_FILE})似乎成功了(至少现在我遇到了另一个错误)。