南京市建设行政网站手机网页开发
web/
2025/10/4 16:58:18/
文章来源:
南京市建设行政网站,手机网页开发,内江网站建设0832hdsj,网站制作加教程视频1#xff0c;选择使用 wxWidgets 框架
选择这个主要是因为完全的开源#xff0c;不想折腾 Qt的库#xff0c;而且打包的文件比较大。
网络上面有很多的对比#xff0c;而且使用QT的人比较多。 但是我觉得wxwidgets 更加偏向 c 语法本身#xff0c;也有助学习C。 没有太多…1选择使用 wxWidgets 框架
选择这个主要是因为完全的开源不想折腾 Qt的库而且打包的文件比较大。
网络上面有很多的对比而且使用QT的人比较多。 但是我觉得wxwidgets 更加偏向 c 语法本身也有助学习C。 没有太多的特殊封装而且商业化更加友好打包软件也比较少。
更偏向原生的系统做好相关的功能开发。
2在 ubuntu上进行安装320版本环境
https://www.wxwidgets.org/downloads/
https://docs.codelite.org/wxWidgets/repo320/
先增加证书授权
# 增加签名
sudo apt-key adv --fetch-keys https://repos.codelite.org/CodeLite.asc#2 安装源
# 生成一个文件 /etc/apt/sources.list.d/archive_uri-https_repos_codelite_org_wx3_2_ubuntu_-jammy.list
# 不需要可以删除掉
sudo apt-add-repository deb https://repos.codelite.org/wx3.2/ubuntu/ jammy universe#3安装库
apt-get install libwxbase3.2-0-unofficial \libwxbase3.2unofficial-dev \libwxgtk3.2-0-unofficial \libwxgtk3.2unofficial-dev \wx3.2-headers \wx-common \libwxgtk-media3.2-0-unofficial \libwxgtk-media3.2unofficial-dev \libwxgtk-webview3.2-0-unofficial # 特别奇怪其余的库要一个一个进行安装不能批量执行。
sudo apt-get install libwxgtk-webview3.2unofficial-dev
sudo apt-get install libwxgtk-webview3.2-0-unofficial-dbg
sudo apt-get install libwxbase3.2-0-unofficial-dbg3解决编译问题 undefined reference to pcre2_config_32’|
|| Build: Debug in demo02 (compiler: GNU GCC Compiler) |
||warning: libpcre2-32.so.0, needed by /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so, not found (try using -rpath or -rpath-link)|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_config_32|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_code_free_32|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_get_ovector_pointer_32|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_match_data_create_from_pattern_32|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_compile_32|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_match_data_free_32|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_match_32|
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libwx_baseu_unofficial-3.2.so||undefined reference to pcre2_get_error_message_32|
||error: ld returned 1 exit status|
|| Build failed: 9 error(s), 1 warning(s) (0 minute(s), 0 second(s)) |终于找到问题通过安装 libpcre2-dev 解决
sudo apt install libpcre2-dev
4第一个hello world并进行编译
参考在线手册 https://docs.wxwidgets.org/3.2/ 第一个hello world 文档 https://docs.wxwidgets.org/3.2/overview_helloworld.html
// wxWidgets Hello World Program// For compilers that support precompilation, includes wx/wx.h.
#include wx/wxprec.h#ifndef WX_PRECOMP#include wx/wx.h
#endifclass MyApp : public wxApp
{
public:virtual bool OnInit();
};class MyFrame : public wxFrame
{
public:MyFrame();private:void OnHello(wxCommandEvent event);void OnExit(wxCommandEvent event);void OnAbout(wxCommandEvent event);
};enum
{ID_Hello 1
};wxIMPLEMENT_APP(MyApp);bool MyApp::OnInit()
{MyFrame *frame new MyFrame();frame-Show(true);return true;
}MyFrame::MyFrame(): wxFrame(NULL, wxID_ANY, Hello World)
{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!);Bind(wxEVT_MENU, MyFrame::OnHello, this, ID_Hello);Bind(wxEVT_MENU, MyFrame::OnAbout, this, wxID_ABOUT);Bind(wxEVT_MENU, MyFrame::OnExit, this, wxID_EXIT);
}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!);
}
进行编译
c -o main main.cpp wx-config --cxxflags --libs然后运行main
5使用工具 codeblocks 进行开发
https://www.codeblocks.org/ https://www.codeblocks.org/downloads/binaries/
直接通过下载文件安装或者apt 安装即可。
sudo apt install -y codeblocks命令就是 codeblocks
可以按照模板创建一个 wxWidgets的项目。 运行效果
6总结
已经有人总结了项目 https://www.bilibili.com/video/BV1y3411477j/ wxwidgets跨平台GUI框架使用入门详解 PDF资料
https://pan.baidu.com/s/1cX8Ro
继续学习 wxWidgets。 还有静态编译的办法需要重新编译wxwidgets否则没有库文件 https://blog.csdn.net/CharmingSun/article/details/51765180
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86881.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!