首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CLion不能部分看到wxwidgets,但会编译项目

基础概念

CLion 是一款由 JetBrains 开发的集成开发环境(IDE),主要用于 C++ 开发。wxWidgets 是一个跨平台的 C++ 库,用于创建图形用户界面(GUI)应用程序。它提供了丰富的控件和事件处理机制,支持多种操作系统。

相关优势

  1. 跨平台性:wxWidgets 支持 Windows、Linux 和 macOS 等多个操作系统,使得开发者可以编写一次代码,在多个平台上运行。
  2. 丰富的控件:wxWidgets 提供了大量的 GUI 控件,如按钮、文本框、列表框等,方便开发者快速构建复杂的用户界面。
  3. 事件处理:wxWidgets 提供了完善的事件处理机制,可以方便地处理用户输入和其他系统事件。

类型

wxWidgets 主要有以下几种类型:

  • 核心控件:如按钮、文本框、列表框等。
  • 容器控件:如面板、窗口、对话框等。
  • 高级控件:如表格、树形控件、滑块等。

应用场景

wxWidgets 适用于需要跨平台开发的 GUI 应用程序,如桌面应用程序、游戏界面、数据分析工具等。

问题描述

在 CLion 中不能部分看到 wxWidgets,但会编译项目。

原因分析

这个问题可能是由于以下原因导致的:

  1. 头文件路径配置不正确:CLion 可能没有正确配置 wxWidgets 的头文件路径,导致无法在 IDE 中看到 wxWidgets 的相关代码。
  2. 依赖库配置不正确:CLion 可能没有正确配置 wxWidgets 的依赖库路径,导致无法正确链接和编译 wxWidgets 相关代码。
  3. 缓存问题:CLion 的缓存可能存在问题,导致无法正确显示 wxWidgets 相关代码。

解决方法

  1. 配置头文件路径
    • 打开 CLion,进入 File -> Settings -> Build, Execution, Deployment -> CMake
    • CMake options 中添加 wxWidgets 的头文件路径,例如:
    • CMake options 中添加 wxWidgets 的头文件路径,例如:
  • 配置依赖库路径
    • CMake options 中添加 wxWidgets 的库路径,例如:
    • CMake options 中添加 wxWidgets 的库路径,例如:
  • 清理缓存
    • 进入 File -> Invalidate Caches / Restart,选择 Invalidate and Restart 清理缓存并重启 CLion。

示例代码

假设你有一个简单的 wxWidgets 程序,代码如下:

代码语言:txt
复制
#include <wx/wx.h>

class MyApp : public wxApp {
public:
    virtual bool OnInit();
};

class MyFrame : public wxFrame {
public:
    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);

    void OnHello(wxCommandEvent& event);
    void OnExit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

    wxDECLARE_EVENT_TABLE();
};

enum {
    ID_Hello = 1
};

wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_MENU(ID_Hello, MyFrame::OnHello)
    EVT_MENU(wxID_EXIT,  MyFrame::OnExit)
    EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
wxEND_EVENT_TABLE()

wxIMPLEMENT_APP(MyApp);

bool MyApp::OnInit() {
    MyFrame *frame = new MyFrame("Hello wxWidgets", wxPoint(50, 50), wxSize(450, 340));
    frame->Show(true);
    return true;
}

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
    : wxFrame(NULL, wxID_ANY, title, pos, size) {
    wxMenu *menuFile = new wxMenu;
    menuFile->Append(ID_Hello, "&Hello...\tCtrl-H",
                     "Help string shown in status bar for this menu item");
    menuFile->AppendSeparator();
    menuFile->Append(wxID_EXIT);

    wxMenu *menuHelp = new wxMenu;
    menuHelp->Append(wxID_ABOUT);

    wxMenuBar *menuBar = new wxMenuBar;
    menuBar->Append(menuFile, "&File");
    menuBar->Append(menuHelp, "&Help");

    SetMenuBar(menuBar);

    CreateStatusBar();
    SetStatusText("Welcome to wxWidgets!");
}

void MyFrame::OnExit(wxCommandEvent& event) {
    Close(true);
}

void MyFrame::OnAbout(wxCommandEvent& event) {
    wxMessageBox("This is a wxWidgets Hello World example",
                 "About Hello World", wxOK | wxICON_INFORMATION);
}

void MyFrame::OnHello(wxCommandEvent& event) {
    wxLogMessage("Hello world from wxWidgets!");
}

参考链接

通过以上步骤,你应该能够解决在 CLion 中不能部分看到 wxWidgets 的问题。如果问题仍然存在,建议检查 CLion 的日志文件,查看是否有更详细的错误信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一步一步教你自己来编译 wxsqlite3 静态库

wxsqlite3 相比普通的 sqlite3 的好处就是可以对数据库进行加密,但这个 wxsqlite3 的编译过程真的是非常曲折,我自己也是折腾了几个小时才真正编译出来一个可用的 wxsqlite3...这个过程主要是会在 C:\wxWidgets-3.1.1\lib\vc_lib\mswu\wx 生成一个 setup.h 和其他依赖文件,这个文件在我们后面编译 wxsqlite3 的时候会用到。...这里大家看到只有两个,是因为 Debug Win64 和 Debug 生成的路径和文件名是一样的,被覆盖了,Release 也是一样,你修改一下生成后的目录或者文件名就可以了。...总结 接下来总结一下步骤,防止第一次编译的同学神经错乱。。。...安装 wxWidgets 批量生成所有项目(主要为了生成 setup.h 文件) 克隆 wxsqlite3 项目并根据自己的需要打开对应解决方案 配置两个依赖目录 配置项目的运行库(主要为了与你 exe

82810

一步一步教你自己来编译 wxsqlite3 静态库

wxsqlite3 相比普通的 sqlite3 的好处就是可以对数据库进行加密,但这个 wxsqlite3 的编译过程真的是非常曲折,我自己也是折腾了几个小时才真正编译出来一个可用的 wxsqlite3...这个过程主要是会在 C:\wxWidgets-3.1.1\lib\vc_lib\mswu\wx 生成一个 setup.h 和其他依赖文件,这个文件在我们后面编译 wxsqlite3 的时候会用到。...这里大家看到只有两个,是因为 Debug Win64 和 Debug 生成的路径和文件名是一样的,被覆盖了,Release 也是一样,你修改一下生成后的目录或者文件名就可以了。...总结 接下来总结一下步骤,防止第一次编译的同学神经错乱。。。...安装 wxWidgets 批量生成所有项目(主要为了生成 setup.h 文件) 克隆 wxsqlite3 项目并根据自己的需要打开对应解决方案 配置两个依赖目录 配置项目的运行库(主要为了与你 exe

2.7K30
  • Clion - IDE使用介绍

    CLion帮助开发人员使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。 关于CLion的一些疑问 1. CLion是跨平台的IDE吗?...CLion支持的编译器都有哪些? A: CLion支持GCC,Clang和MSVC。 3. CLion支持的语言都有哪些?...A: CLion与CMake构建系统完全集成,可以无缝的创建,打开构建及运行,调试CMake项目。CMake本身捆绑在CLion中,因此除非决定使用自定义版本,否则无需单独安装它。...Cmake版本过低不能匹配项目 A: 使用apt-get purge命令卸载原有的cmake版本,wget合适的cmake版本,安装完成后在clion中进行配置。...CLion的使用 1. 新建项目及执行 A: File | New Project | C++Executable, ? 点击 绿色的箭头即可以完成初始项目的运行。 ? 2.

    5.4K20

    Clion快速查看cpp preprocess 文件

    这里其实应该说CMake管理的项目,如何快速查看其Preprocess文件。因为Clion默认使用CMake管理文件,所以这里对Clion也适用。...对于Clion项目编译时会生成cmake-build-debug目录,里面是cmake编译项目的产物。如下图: image.png 注意,这里最重要的是Makefile文件,里面会有一系列任务。...如下图: image.png 这里来看下源文件和预处理后的文件对比: 查如何生成预处理文件是因为,写modern cpp时,想看下using后的会不会被预处理,“gcc -E”在大项目中不实用,所以找下有没有更智能更自动化的方法...下图这里,左边的define在右侧可以看到已经被预处理了,但是using这些是不能被预处理的. image.png 举一反三,我们在看下Makefile里还有什么有意思的target: # target...MAKE) -f CMakeFiles/cppConcurrencyDemo.dir/build.make CMakeFiles/cppConcurrencyDemo.dir/main.cpp.s 可以看到

    1.8K20

    Clion使用小锦集

    这学期学的C++,去年寒假在家把C语言学了很多一部分,一直用的Sublime Text2➕终端➕Xcode(提供gcc编译器),用习惯后感觉还挺不错,由于不是很熟悉Linux的命令,所以效率有点低下,然后这学期的...C++我就一直用的JetBrains家的Clion,感觉真不错!...一个项目编译多个cpp源文件 ​ 这是个什么意思,用过Xcode或者Visual Studio 2019后的小伙伴都知道在一个项目中是不能编译运行多个cpp文件的,要想运行就得把上一个源文件的代码都注视掉或者新建项目...,这样就多多少少有点麻烦了,看下我的Clion项目文件,看起来还是挺有纹理的 ​ 其实在Clion中也是不能直接在同一项目编译运行多个源文件的,而需要改一些东西才可以,虽说有些小步骤,但值得,至少整个项目文件的结构看起来舒服...这个的解决方案也很简单,按以下路径操作一遍就好了 英文:Tools-CMake-Reload Cmake Project 中文:工具-CMake-重新加载CMake项目 结语 目前我在Clion的使用中遇到的问题就这些

    83040

    Windows下C++使用thread时无法识别thread和mutex相关库的解决

    问题描述 今天我在Windows下打算尝试C++多线程编程,在CLion上进行编码。...CLion的C++编译器是正常的,以前也跑过好几个项目,使用其他STL库函数也正常,唯独使用thread时报无法识别的错,所有thread都划上了红线。如下图所示: ?...后来受到博客CLion安装mingw并配置以支持c++11多线程编程的启发,重新安装mingw编译器,但是不成功。...又看到博客mingw-w64安装支持c++11中thread(windows下)的操作,发现关键是在安装mingw时需要将Thread选项设为posix。重新安装mingw解决问题。 ?...总结 不能使用thread是因为mingw的编译器不支持thread,需要重新安装mingw,安装方法在引用的两篇博客里都有。同时需要确保建立工程时使用的是C++11及以上标准。

    3.5K20

    为了亲妹,我下C海了!

    坦白地说吧,如果 CLion 有社区版的话,我一定会首选 CLion! ? 不为别的,就因为 CLion 是 JetBrains 公司开发的一款用于编写 C/C++ 的 IDE。...安装成功后,就可以新建 C 语言的项目了,如下图所示。 ?...然后点击像锤子符号的「Build」按钮对代码进行编译,「Console」 面板会有一段编译的日志输出,如下图所示。 ? 再点击「Run」按钮就可以看到输出结果了。 ?...3)Visual Studio Code,Windows 上同样可以选择,但和 macOS 自带 GCC 不同,Windows 上默认是没有 C 语言的编译器的,所以不能直接拿 VSCode 直接来撸。...点击「运行」按钮,可以在「OUTPUT」面板中看到如下结果——搞定。 ? 最后,总结一下,重要重要重要: 1)如果有教育邮箱的话,首选 CLion

    1.1K20

    深入理解 JVM 之——动手编译 JDK

    参考我的虚拟机配置如下: VM 虚拟机 Ubuntu20.04 处理器 8 核,内存 8G,硬盘 40G 注意:所有文件所在目录都不能包含中文。...make images 打开资源管理查看进程,可以看到八核线程汗液狂飙( 经过长达十分钟左右的等待后,可以看到编译如下信息,提示编译成功: Finished building target 'images...我们进入然后执行: java -version 可以看到编译后的 JDK 默认会带上编译的机器名: 然后我们就可以对着 JDK 进行激情乱搞了(bushi ---- 在 Clion 中调试 ----...之后进行 ssh 登录即可连接,若需要继续配置免密登录,可以参考教程:ssh 登录和 scp 传输 ---- Clion 导入项目 ---- 建议安装 JetBrains Gateway 进行操作,当然你也可以直接使用...Clion 进行导入,步骤是一样滴( 打开 Clion 在远程登录选择 SSH 进行新建项目: 首次连接需要选择连接的服务器: 我们新建一个连接,左上角 + 号新建配置,之后填入虚拟机的 ip 以及登录用户

    47640

    工欲善其事,可能会有用的Clion技巧

    项目导航 对于一个大的项目,很多时候需要理清它的层次结构,Clion 为我们提供了项目内文件、类等的导航搜索: ⌘ + O 通过类的名字进行搜索; ⇧ + ⌘ + O 通过文件名进行搜索; ⌥...调试运行 说实话现在很多编辑器在代码编辑上的功能和体验都不输 IDE 了,但是在项目调试和运行上 IDE 还是有着不小的优势,这也是很多人在大的项目里选择 IDE 而不是代码编辑器的原因。...首先你可以在 Run | Edit Configurations 里面配置调试运行的选项,如果你希望在编译之前或者运行之后运行一段脚本,你可以自己添加这些额外的配置。...限于篇幅,不能把所有的 Git 操作记录下来,相信熟悉 Git 操作的你很快就能上手。...如果你需要全面了解 Clion 的功能,可以访问 JetBrains 的 官方指南 ,本文也有部分内容参考了这个指南。

    7.7K21

    Windows下C语言环境搭建

    安装 MinGW 使用 Windows 的开发环境,我们绝大多数情况下都会使用 MSVC 来演示我们的程序,但 MSVC 实际上是个 C++ 编译器,对于 C 语言的语法支持也主要涉及兼容 C++ 的部分...推荐通过 Msys2 来安装 MinGW,我们可以在 Msys2 的官网 看到它的安装方法。...就是程序编译之前执行的操作,预处理指令又叫做宏。那编译又是啥?编译就是将我们编写的源代码翻译成机器能够执行的机器指令的过程,源代码机器是不能直接执行的,不然程序员就要下岗了。...程序运行结束之后有时候我们会看到类似下面的文字: 这个所谓的 “exit code 0” 就与我们这里的 return 0; 相对应。不信的话,可以自己改成其他数试试看。...Windows 上 CLion 调试使用 MSVC 编译的程序使用自带的 lldb,我们可以在调试时查看反编译的汇编指令。

    3.2K10

    win10使用WSL编译Linux C++项目

    为什么要在windows下编译Linux项目?...我们是做后台开发的,虽然我们的svr都泡在tlinux上,但是大部分同学写代码/看代码还都是在windows下,使用类似于Clion、visual studio、source insight等编辑器(可以方便的跳转...当然还有一个原因是组内有使用mac的同学做了在mac下的编译,心想windows不能没人管啊,于是就研究了下在windows下的编译。 什么是WSL?...开启后就是个标准的linux程序了,可以看到系统的 C D E等盘都被挂载到了/mnt下面。 如何编译代码? 1,设置源和代理,修改系统配置 WSL默认带的包很少,编译需要的东西很多都要自己安装。...其他一些tips clion最新的编译器才支持WSL,需要去官网下载最新的。

    9.6K90

    使用Clion优雅的完全远程自动同步和远程调试c++

    摘要:在linux上用vim写C++的时候,通常用gdb进行调试,不能随心所欲的看代码和跳转代码以及加watch(也有可能是因为我还没有get正确的使用方法)。...Automatic Upload(always) 设置为自动同步 自动同步的话可以在每次在本地改动代码的时候自己同步了 Sync with Deployed to 就是自动下载远程代码到本地 [上传整个项目...] 手动上传整个项目 [上传成功] 上传成功,上传了100个文件 [查看上传效果] 查看远程目录,确实成功了 好了,现在只要在本地有任何的改动都会自动同步到远程了。...gdbserver的还支持动态绑定到已经启动的进程 gdbserver :1234 --attach [attash成功后] 打断点开始调试 [开始调试] 点击小虫子开始调试 [打断点] 我们可以看到代码停止到了断点处...[编译成功] 现在已经配置了远程Toolchains工具链并配置了相应的CMake配置文件 上图是自动编译和上传到的目录/tmp/tmp.pIdETgMIBR,然后我们只要设置为自动同步目录就成了,如下图

    58.1K148

    MacOS 搭建 OpenGL 开发环境

    接着安装 CLion,个人是极其推荐使用 JetBrain 家的 IDE 进行开发的,可以在如下网站下载:CLion - JetBrain,下载完成后自行完成安装与激活即可。...安装完 CLion 之后,可以在 Settings 中检查 Toolchain 是否正确识别,如下: Toolchain 通常来说只需要安装好 gcc 即可,因为 cmake 会在 CLion 中自带...创建与配置项目 首先使用 CLion 创建一个 C/C++ 工程,创建完成之后应该可以看到项目根目录下有一个 CMakeLists.txt 文件,这时候我们可以按照如下配置修改: cmake_minimum_required...编写测试代码 完成项目配置后,改写 main.cpp 来写一个测试小程序吧: #include #include #include <GLFW/glfw3...右上角的编译与运行,如果看到: Hello GL 恭喜,到这里就成功啦!

    2.6K30

    现代化 C++ 开发工具 CLion 从入门到精通

    以上所有涉及到的软件都在 30 的开发机上: /data/home/allsochen/software/clion。 通过 samba 可以直接看到对应的文件。...目录下: 的 clion64.exe.vmoptions 文件,把第三行-Xmx2000m 改为-Xmx4086m,同时打开的项目比较多的同学建议再设置大一些,毕竟我们的开发机有 16G,任性。...打开一个服务项目后: 自动部署: 把本地的服务目录文件自动同步到目标开发编译的 samba 目录 配置目标同步目录:Files->Settings->Other Settings->Quickly Sync...Deployment 配置需要同步到自己的开发编译目录,请把 allsochen 改成你的名称 2)通过菜单 Tools->Quickly Sync Deployment 进行快速同步部署 3)确认部署...://github.com/Allsochen/clion-m2cmake QuicklySyncDeployment 自动把项目文件部署拷贝到开发机 https://github.com/Allsochen

    2.8K42

    如何优雅的远程自动同步和远程调试c++?

    摘 要 在linux上用vim写C++的时候,通常用gdb进行调试,不能随心所欲的看代码和跳转代码以及加watch(也有可能是因为我还没有get正确的使用方法)。...为此我发现Clion可以做到自动同步本场代码或自己下载远程代码同步到本地,以及调试在远程机器上运行的代码,分享给大家。 一、简 介 CLion是一款专为开发 C 及 C++ 所设计的跨平台 IDE。...二、环境准备 操作系统:macOS / Windows IDE: CLion 源码路径:Node Master 三、自动同步 1)打开CLion的设置,进入到 Preferences | Build,...Automatic Upload(always) 设置为自动同步 2)自动同步的话可以在每次在本地改动代码的时候自己同步了 3)Sync with Deployed to 就是自动下载远程代码到本地 手动上传整个项目...—远程gdbserver的动态连接 gdbserver的还支持动态绑定到已经启动的进程 gdbserver :1234 --attach 打断点开始调试 点击小虫子开始调试 1)我们可以看到代码停止到了断点处

    3.9K61

    CLion + MinGW64配置C语言开发环境 Visual Studio安装

    下载CLion 自定义安装目录…略过 安装完点击试用,新建项目 将解压后的机活插件直接拖入软件。...实际上 MinGW 并不是一个 C/C++ 编译器,而是一套 GNU 工具集合。...下载,这个链接下载比较慢 下载解压后,将bin目录配置到环境变量 测试安装 gcc -v g++ -v 配置CLion环境 File>>Settings 新建C++项目,启动、运行...Visual Studio 对于CLion环境问题解决不好解决的,也可以使用Visual Studio,安装编译器自带安装环境,免去的繁琐的环境配置。...; return 0; } 生成>>生成解决方案 点击调试>>开始执行, 或者使用快捷键 Ctrl + F5 执行 补充 这里我们使用.cpp文件,不使用.c作为后缀,是因为C++兼容大部分

    3.1K21

    披着CLion的外衣实则在讲CMake

    按下图点开对应的信息,如果你任何编译工具链都没有添加,由于新版本的 CLion 它会自带一个 mingw 的编译套件,所以默认会有一个 CLion 自带的 mingw 编译工具链。...所以我们现在应该了解了 CLion 是如何去编译项目生成可执行文件的了。...现在 cmake 在 CLion 中的配置项已经讲完了,简单实践一下来体验之前讲的 CLion 到整个运行的流程: 通过 cmake 配置选项运行整个项目的 CMakeList.txt。...下面用 CLion 新建项目自动生成的 cmake 模板来简单对 cmake 语法热热身。...") 常用的 CMake 命令 下列只列出了部分命令,如果你以后有需要用到的其他命令,请前往官网进行查询:cmake.org/cmake/help/… 我个人较为常用的命令: project:用于定义项目名称

    4.9K30

    音视频开发之旅(57) -如何方便的查看AndroidNative源码

    目录 背景 Android源码下载 源码编译及遇到的问题 使用CLion 导入 资料 收获 一、背景 对Framework层的了解学习是我们进阶的一个重要阶段。...查看 Framework 代码体验非常好,无论是索引还是界面都让人很满意,但是当你跟踪代码,发现进入 native 逻辑时,就会发现 Android Studio 对 native 代码的支持非常不好,不能索引不支持符号搜索不能跳转等...可以通过CLion导入,但是需要有对应的cmakelist,这就需要对下载源码,然后进行编译,然后再用CLion导入。下面我们来看下具体的实践。.../frameworks 路径下看到各个子文件夹下都有CMakeLists.txt生成,但是却是分散在各个子文件夹下面的。...编译出来的是各个模块单独的CMakeLists.txt,一个CMakeLists.txt表示一个CLion工程,所以不能直接导入全部的工程。 那该怎么办呐?

    1.2K20

    使用CEF(五)— 在QT中集成CEF(2)基于CLion与CMake搭建环境

    时过境迁,笔者目前用的最多的就是CLion+CMake搭建C/C项目,并且CLion提供了对C/C强大的开发环境。此外,也想将CMake搭建QT项目作为一次实践,故由此文。...关于QT的配置,我都在CMakeLists.txt中以【QT】标识出;关于CEF的配置部分,我都在配置文件中以【CEF】标识出。...异常处理 此时,我们尝试编译整个项目的时候,会发现有一些编译/链接的错误,相关的错误大多数来源于CEF的头文件升级,接下来我将一一列举并处理。...warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。...目录下的qt-cef_autogen中: 该cpp编译单元编译后的产物在项目根目录/cmake-build-debug/CMakeFiles/qt-cef.dir/qt-cef_autogen下:

    95820
    领券