Windows下wxWidgets编译错误的解决方法

Windows下wxWidgets编译错误的解决方法

转自 https://www.jianshu.com/p/b89d205f2cec

错误提示:
d:\develop\audacity\wxwidgets-3.1.1\include\wx\platform.h(148): fatal error C1083: 无法打开包括文件: “wx/setup.h”: No such file or directory

解决方法:
1.到D:\develop\audacity\wxWidgets-3.1.1\include\wx\目录下, 找到platform.h文件,用notepad++打开

2.找到 #include "wx/setup.h" 一行

/*
   Include wx/setup.h for the Unix platform defines generated by configure and
   the library compilation options

   Note that it must be included before defining hardware symbols below as they
   could be already defined by configure but it must be included after defining
   the compiler macros above as msvc/wx/setup.h relies on them under Windows.
 */
#include "wx/setup.h"

  

3.将 "wx/setup.h" 改为 "wx/msw/setup.h", 然后保存修改后的platform.h文件即可,之后你再去编译工程,就不会出现这个错误了

原来官方给的下载包里的wx.chm帮助文件有这个问题的解决办法,意思是说,wx/...目录里根本没有setup.h文件, 首先要在platform.h文件里进行配置, 格式大致是 #include "wx/XXX/setup.h", 而这里的XXX是根据你所用的操作系统的不同而改变的,例如WINDOW下就改成"wx/msw/setup.h", 而MacOS就改成"wx/mac/setup.h"

错误提示:

hello.o:main.cpp:(.text+0x53): undefined reference to `wxEntry(HINSTANCE__*, HINSTANCE__*, char*, int)‘
hello.o:main.cpp:(.text+0x89): undefined reference to `wxAppConsoleBase::CheckBuildOptions(char const*, char const*)‘
hello.o:main.cpp:(.text+0x416): undefined reference to `wxMenuBar::wxMenuBar()‘
hello.o:main.cpp:(.text+0x4dd): undefined reference to `wxFrameBase::SetMenuBar(wxMenuBar*)‘
hello.o:main.cpp:(.text+0x51f): undefined reference to `wxFrameBase::CreateStatusBar(int, long, int, wxString const&)‘
hello.o:main.cpp:(.text+0x560): undefined reference to `wxFrameBase::SetStatusText(wxString const&, int)‘
hello.o:main.cpp:(.text+0x69b): undefined reference to `wxFrame::~wxFrame()‘

办法:

原文地址:https://www.cnblogs.com/zhengpushi/p/11602394.html

时间: 2024-10-24 12:00:26

Windows下wxWidgets编译错误的解决方法的相关文章

Windows下MySQL一些错误的解决解决方法

1.不管它提示什么,我们都直接看错误日志,因为错误日志里面的描述最详细. 在MySQL的安装目录下找到 my.ini配置文件 看日志保存路径 2. 我的错误是[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 这是因为我手贱了 把库里面的mysql 这个表删掉,所以导致数据库连接不上. 解决方法: 把Mysql 安装目录下的   data  文件夹里的mysql文件

VC6的工程转到VC2010或更高版本出现fatal error C1189编译错误的解决方法

以前也遇到过,当时解决了没写下来,这次正好又遇到了,就顺手写一下吧,别下次又忘记了. 当VC6的工程转到VC2010或更高版本时编译出现如下错误: c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxver_.h(81): fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds 很多解决方法是把工程属性中的“常规”-“MFC

Windows下Apache2服务不能启动解决方法

本人刚开始学习PH,使用的环境是Windows,安装的开发环境是AppServ. 今天开机时发现APACHE服务没有起来,服务里也没打开,我把服务重新打开时报了一个这样的错误“Windows不能在本地计算机启动Apache2.......并参考特定服务错误代码1”.我觉得挺奇怪的,明明昨天还好好的,我也没对环境做什么特别的改动. 然后我在网上搜了下问题,一般都是说80端口被占用,或是版本的原因. 方法都是去\conf\httpd.conf文件里这两行改了: Listen 80 LoadModul

Ubuntu---gedit 打开windows 下 .txt 文件乱码的解决方法

问题出现情况:在windows 下编辑的 .txt 文件复制到 Ubuntu 下打开,默认打开方式为 gedit 软件打开,出现如下乱码: 出现原因:在 windows 系统下,.txt 文件默认编码方式为  gb18030 格式的中文编码,而 gedit 默认的编码方式为 UTF-8 解决方式1:在终端直接输入下面命令即可(未尝试) gsettings set org.gnome.gedit.preferences.encodings candidate-encodings "['UTF8',

Linux内核笔记 - 内核编译错误及解决方法记录

错误 1: /bin/sh: 1: lzop: not found make[2]: *** [arch/arm/boot/compressed/piggy.lzo] 错误 1 make[2]: *** 正在等待未完成的任务.... make[1]: *** [arch/arm/boot/compressed/vmlinux] 错误 2 make: *** [uImage] 错误 2 解决办法: sudo apt-get install lzop 错误 2: "mkimage" com

Qt5.8 下链接 Mysql 错误以及解决方法

Qt 5.8 下链接 Mysql(Windows 平台下),有朋友会出现一个这个无法连接的错误 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 解决办法如下 根据 Qt版本不同 ,32 和 64 的 ,需要的驱动是不同的,总的来说,无论 Mysql 是什么版本的,64 位 Qt 要用 64 位的 Mysq

无法安装Windows Live“OnCatalogResult:0x80190194”错误的解决方法

今天想安装一个博客客户端,结果安装一直报错"OnCatalogResult:0x80190194",百度查到了解决发放再此记录下来,以备后用. 到官网下载了一个在线安装程序,可是一运行就提示无法安装,显式错误"OnCatalogResult:0x80190194",如下图所示 找到windows live安装程序的安装日志文件.具体位置是:C:\Users\All Users\Microsoft\WLSetup\Logs 需要下载安装文件catalog-web.ca

Windows下mysql忘记密码的解决方法

mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql5 或 net stop mysql 2.开一个DOS窗口,这个需要切换到mysql的bin目录.一般在bin目录里面创建一个批处理1.bat,内容是cmd.exe运行一下即可就切换到当前目录,然后输入 mysqld-nt --skip-grant-tables; 3.再开一个DOS窗口 mysql -u root 4.输入: use mysq

windows下apache提示403 Forbidden解决方法

可以先参考http://www.cnblogs.com/allenblogs/archive/2010/08/16/1800456.html这篇文章的方法(记得改了之后重启Apache). 还不行,那就是防火墙的问题了. 我是Win7系统,具体步骤是: [控制面板]->[Windows 防火墙]->[允许程序或功能通过Windows防火墙]