文档章节

记录在visual studio 2015下编译wxWidgets的Hello World程序

南城小镇
 南城小镇
发布于 2017/02/25 19:55
字数 436
阅读 57
收藏 0
点赞 0
评论 0
c++

从官网上下载的源代码:https://www.wxwidgets.org/downloads/

假设源码解压到 $WXWIN 目录

更详细的wxWidgets安装步骤在 $WXWIN\doc\msw\install.txt 中有说明,这里只是简单介绍一下。

第一步是编译wxWidgets: 打开 $WXWIN\build\msw\wx_vc12.sln,点击 菜单-生成-生成解决方案(F7)

在编译的时候发现有一个项目生成失败,通过后面的测试发现是 wxtiff 编译失败

输出窗口也有提示了错误原因,解决方法:打开tif_config.h:367行把   #define snprintf _snprintf 注释

第二步,新建空白项目,添加cpp源文件。添加 包含目录:$WXWIN\include,添加库目录:$WXWIN\lib\vc_lib     (这个目录只有你编译之后才会出现)

cpp源文件(官网 Hello World 演示的一部分,这里只是检查是否可以编译)


#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <wx\wxprec.h>
#ifndef WX_PRECOMP
	#include <wx\wx.h>
#endif // !WX_PRECOMP
using namespace std;


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

class MyFrame :public wxFrame
{
public:
	MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
private:
	void OnHello(wxCommandEvent& event);
	void OnExit(wxCommandEvent& event);
	void OnAbout(wxCommandEvent& event);
	wxDECLARE_EVENT_TABLE();
};

enum
{
	ID_Hello = 1
};

int main() {
	cout << "hello world" << endl;
	getchar();
	return 0;
}

 

通过 菜单-生成-生成解决方案(F7),我发现了以下两种错误情况:

  1. fatal error C1083: 无法打开包括文件: “../../../lib/vc_lib/mswd/wx/setup.h”: No such file or directory
  2. error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1>  c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\string.h(119): note: 参见“strcpy”的声明

 

错误2的情况很容易解决,解决方法:源文件添加 #define _CRT_SECURE_NO_WARNINGS

错误1是因为没有没有预定义Unicode,解决方法:把项目的字符集改为 “使用Unicode字符集”

 

© 著作权归作者所有

共有 人打赏支持
南城小镇
粉丝 1
博文 18
码字总数 11999
作品 0
东城
Python的可视化编程工具 - wxGlade

wxglade是一个用python实现的wxwidgets的界面设计工具,它是完全免费和开放源代码的,它可以产生包括python,C++,perl,XRC在内的各种输出文件,它的大本营在http://wxglade.sourceforge.net. 你可...

匿名 ⋅ 2009/03/15 ⋅ 1

Python界面编程工具包WxPython

1、 Python的GUI工具包 Python作为最流行的编程语言之一,功能日趋完善,制作GUI界面亦不在话下。借助搜索引擎,发现除了Python自带的Tkinter,各种制作GUI界面第三方包层出不穷,感兴趣的同...

知猪侠_DC ⋅ 05/01 ⋅ 0

c语言编程软件有哪些 Win7下用哪种C语言编译器

C语言是一门历史很长的编程语言,其编译器和开发工具也多种多样,其开发工具包括编译器,现举几个开发工具供大家选择,当然也要根据自己的操作系统来选择适合自己的开发工具 好多刚开始接触c...

mini92 ⋅ 04/20 ⋅ 0

WebAssembly环境搭建

# 开发者指导 本页面提供一步一步的操作将一个简单的程序编译成webassembly ## 前提要求 为了编译成webAssembly,需要提前安装一些工具: + Git。在Linux和OSX下已自带了Git,在Windows下需要...

scarecrowlxb ⋅ 05/17 ⋅ 0

Windows 下msvc2010编译 NSIS 2.46

按照 NSIS 帮助文档的说法,要构建 NSIS 首先安装 Python 和 SCons。 1、从NSIS 官方网站 http://sourceforge.net/projects/nsis/files/ 下载 NSIS 2.46 的源代码 zip 包,解压到 C:nsis-2.4...

bygreencn ⋅ 2013/11/28 ⋅ 0

C Sharp与.net学习笔记(一)

C#和.net都是零基础,需要一到两周先恶补一点东西,特此记录一下 2012.01.11 C#控制台程序 一个入门用的hello world程序如下: using System;class CSharpTest{ static void Main() { Consol...

晨曦之光 ⋅ 2012/05/08 ⋅ 0

开源一款ftp软件——filezilla

filezilla是一款高性能ftp/sftp文件工具,关于它的具体的介绍可参见其官网:https://www.filezilla.cn/。其原作者是Tim Kosse (tim.kosse@filezilla-project.org)。 大概10年前我从校园网ftp...

analogous_love ⋅ 2017/06/28 ⋅ 0

第一部分:基础知识(第一章)File | New | Project

File | New | Project 你需要在Windows7下的Visual Studio 2010开发平台上安装Visual Studio 2010 Express for Windows Phone。为方便起见,我后面不再说Visual Studio 2010 Express for Wi......

彭博 ⋅ 2012/03/09 ⋅ 0

VS 2015 - Win XP (v140_xp) 编译工具 ucrtbased.dll缺失

Visual Studio 2015 - Windows XP (v140_xp) 编译工具 ucrtbased.dll缺失 先写结论,最好不要使用VS2015-WinXP编译工具来编译VC++程序,因为你最终会发现,编译出来的程序如果是动态链接到运...

郝槟楠 ⋅ 01/08 ⋅ 0

【笔记】GYP Usage

GYP Usage GYP CMake GypVsCMake 1) 安装GYP svn: http://gyp.googlecode.com/svn/trunk/ 设置Python环境变量 Python TortoiseSVN 2) 编译V8 [BuildingWithGYP]: https://code.google.com/p......

加壹 ⋅ 2014/03/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部