【问题标题】:How to add wxWidgets to project via cmake?如何通过 cmake 将 wxWidgets 添加到项目中?
【发布时间】:2020-12-15 11:22:16
【问题描述】:

所以我正在使用 clion,试图用 wxwidgets 构建一个项目。但我得到这个错误:

CMake Error at C:/Program Files/JetBrains/CLion 2020.1/bin/cmake/win/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
  Could NOT find wxWidgets (missing: wxWidgets_LIBRARIES
  wxWidgets_INCLUDE_DIRS core)

这是我的 cmake 文件:

cmake_minimum_required(VERSION 3.16)
project(BedrockFinderCpp)

set(wxWidgets_ROOT_DIR <c:/Program Files/wxWidgets-3.1.4>)
set(wxWidgets_CONFIGURATION mswu)

find_package(wxWidgets REQUIRED COMPONENTS core)
include(${wxWidgets_USE_FILE})

find_package(OpenCL REQUIRED)

add_executable(${PROJECT_NAME}
    BFFApp.cpp
    BFFGui.cpp
    PrecomputedRandAdvance.cpp
)

target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCL_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${wxWidgets_LIBRARIES} ${OpenCL_LIBRARIES})

【问题讨论】:

  • 您是否字面上在路径&lt;c:/Program Files/wxWidgets-3.1.4&gt; 中写入尖括号?或者这些括号是什么意思?
  • @E1ZY,你的“cmake”设置中没有这个选项。你可以添加它并检查吗?网络上有很多关于“cmake”和 wxwidgets 的参考资料。
  • @Tsyvarev 是的,这有点愚蠢,但没有他们也没有“”
  • @Igor 我有点困惑如何将其添加到设置中?

标签: cmake wxwidgets


【解决方案1】:

我自己找到了一个“修复”。可以使用以下代码完成:

注意:wxWidgets 是一个子目录,其中包含来自 wxWidgets-3.1.4 目录的文件

cmake_minimum_required(VERSION 3.16)
project(BedrockFinderCpp)

add_subdirectory(wxWidgets)

find_package(OpenCL REQUIRED)

add_executable(${PROJECT_NAME}
    BFFApp.cpp
    BFFGui.cpp
    PrecomputedRandAdvance.cpp
)

target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCL_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} wx::core ${OpenCL_LIBRARIES})

【讨论】:

  • 您是否将 sources 的 wxWidgets 放在C:/Program Files 下?哦,不,不要这样做:C:/Program Files 用于已安装 已经构建 的程序。而且,假设C:/Program Files/wxWidgets-3.1.4 包含sourcesfind_package(wxWidgets) 肯定不会为他们工作。 find_package 要求对应的项目已经构建安装
  • @Tsyvarev 所以我应该在构建项目之前使用 cmake 构建 wxWidgets?
  • 您应该在构建项目之前buildinstall wxWidgets。只有在这种情况下find_package(wxWidgets) 才会起作用。与您的项目一起构建 wxWidgets,就像您对 add_subdirectory(wxWidgets) 所做的那样,也可以工作。但请注意,这种方法不适用于 wxWidgets 以外的包。
猜你喜欢
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 2020-05-11
  • 2018-11-25
  • 2019-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多