【问题标题】:Building wxWidgets 3.1.0 on CLion (Ubuntu)在 CLion (Ubuntu) 上构建 wxWidgets 3.1.0
【发布时间】:2017-02-13 17:26:18
【问题描述】:

我目前正在尝试在 CLion 1.3 项目上构建 wxWidgets-3.1.0。我使用 Ubuntu 16.04(64 位)。基本上,我像这样编辑了 CMakeLists.txt 文件:

cmake_minimum_required(VERSION 3.5)
project(WxProva)

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules"
${CMAKE_MODULE_PATH})

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(SOURCE_FILES main.cpp)
add_executable(WxProva ${SOURCE_FILES})

find_package(wxWidgets)
include_directories(${wxWidgets_INCLUDE_DIRS})
target_link_libraries(WxProva ${wxWidgets_LIBRARIES})

“外部库”部分还向我展示了 wxWidgets,但是在我的 main.cpp 上写一些行时,编译器似乎无法访问与该库相关的所有内容(全部用红色写成,就像一个错误)。无论如何,如果我尝试编译,那就是结果:

/home/federico/ClionProjects/WxProva/main.cpp:2:35: fatal error: wxWidgets-3.1.0/include: File o directory non esistente
compilation terminated.

类似于“文件或目录不存在”。 我该如何解决这个问题?

【问题讨论】:

  • 你是如何构建 wxWidgets 的?你是从存储库还是从源安装它?你有什么版本?
  • 我通过将它添加到 /lib 文件夹并从 cmd 安装它来构建它。版本是 3.1.0 。安装成功,但我仍然收到此错误。

标签: c++ ubuntu wxwidgets clion


【解决方案1】:

这里经过一些实验解决。您可以复制它并更改一些信息并准备好构建和运行。

cmake_minimum_required(VERSION 3.7)
project(Your_Project_Name) //any name for your project

set(CMAKE_CXX_STANDARD 11)

set(wxWidgets_ROOT_DIR </usr/include/wx-3.0-unofficial>) // here I am  giving where to search for wxwidgets library. it can be different for you
set(wxWidgets_CONFIGURATION mswu)
find_package(wxWidgets COMPONENTS core base REQUIRED)
include(${wxWidgets_USE_FILE})

set(SOURCE_FILES main.cpp)
add_executable(FirstC ${SOURCE_FILES})

target_link_libraries(FirstC ${wxWidgets_LIBRARIES})

更多信息请阅读https://wiki.wxwidgets.org/CMake

编辑 1 在这里,您甚至不应该添加一些编译和链接配置(wx-config --cxxflagswx-config --libs),因为在 NetBeans 中是必需的

【讨论】:

    【解决方案2】:

    这是 macOS 10.14.4 (Mojave) 和 CLion 2019.1 的示例配置 (/usr/local 是我安装 wxWidgets 的文件夹)

    cmake_minimum_required(VERSION 3.14)
    project(wx1Test)
    
    set(CMAKE_CXX_STANDARD 14)
    
    set(wxWidgets_ROOT_DIR </usr/local/include/wx-3.1>)
    set(wxWidgets_CONFIGURATION mswu)
    find_package(wxWidgets COMPONENTS core base  REQUIRED)
    include(${wxWidgets_USE_FILE})
    
    set(SOURCE_FILES main.cpp)
    add_executable(wx1Test ${SOURCE_FILES})
    
    target_link_libraries(wx1Test ${wxWidgets_LIBRARIES})
    

    【讨论】:

      猜你喜欢
      • 2017-06-07
      • 2016-08-03
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 2015-07-06
      • 1970-01-01
      相关资源
      最近更新 更多