【发布时间】:2021-03-30 02:51:56
【问题描述】:
我真的很难将 wxWidgets 设置为在 Windows 和 CMake 上工作,希望能得到一些帮助。
我已经下载了 wxWidgets 3.1.4,运行安装程序(提取到C:\CPP_lib\wxWidgets),然后在终端中运行以下命令:
cd C:\CPP_lib
mkdir wxWidgets-install
cmake C:\CPP_lib\wxWidgets -DCMAKE_INSTALL_PREFIX=C:\CPP_lib\wxWidgets-install -DwxBUILD_SHARED=OFF
cd wxWidgets-install
cmake --build . --target install
我将环境变量CMAKE_PREFIX_PATH 设置为C:\CPP_lib 和wxWidgets_DIR 和wxWidgets_ROOT_DIR 都设置为C:\CPP_lib\wxWidgets-install。
但是,当我有一个调用 find_package(wxWidgets) 的简单 CMake 项目时,我会在终端中收到以下消息:
Found wxWidgets: winmm;comctl32;uuid;oleacc;uxtheme;rpcrt4;shlwapi;version;wsock32
missing components: core base png tiff jpeg zlib regex expat
请帮助-我已经挣扎了一段时间了:(
【问题讨论】:
-
如果你用
C:\CPP_lib\wxWidgets-install安装前缀构建wxWidgets,你需要把这个前缀准确地放入CMAKE_PREFIX_PATH变量中。至于错误消息,它看起来不像是真实的。您确定您确实收到了此错误消息吗? -
@GaeyAllen,你使用哪个编译器?如果你不打算让 wxWidgets 成为另一个已经使用 cmake-crap 的项目的一部分,我会下载 MSVC Community 并用它构建库。真的很简单。
-
@Tsyvarev 我是否需要将 wxWidgets-install 的路径放入 CMAKE_PREFIX_PATH,或者只是放入 CPP_LIB 的路径?另外,这绝对是我在终端中从 CMake 收到的消息
-
@Igor 我以前使用过 Visual Studio,但希望我的项目能够跨平台兼容。 CMake 似乎是执行此操作的主要方式(尽管如果有与 Visual Studio 一起使用的工作流,我会全力以赴)。然而,我使用 CMake 的另一个原因是它与 VS Code 的兼容性(我更喜欢 VS Code 而不是 Visual Studio)
-
"我需要把 wxWidgets-install 的路径放到 CMAKE_PREFIX_PATH 中,还是直接放到 CPP_LIB 中?" - 设置
CMAKE_PREFIX_PATH通常就足够了。