wxwidgets 编译记录

本文介绍了解决Zigbee项目中遇到的编译错误的方法,包括清理编译环境、正确设置MinGW环境变量、修改宏定义及makefile配置等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:操作
D:\ZigbeeProj\zigbeesrc\pc\wxwidgets\build\msw>set PATH=%PATH%;C:\MinGW\bin

D:\ZigbeeProj\zigbeesrc\pc\wxwidgets\build\msw>mingw32-make.exe -f makefile.gcc

2: 错误信息
if not exist gcc_mswud mkdir gcc_mswud
process_begin: CreateProcess(NULL, -c “if not exist gcc_mswud mkdir gcc_mswud”,
…) failed.
make (e=2): 系统找不到指定的文件。
makefile.gcc:5078: recipe for target ‘gcc_mswud’ failed
mingw32-make.exe: [gcc_mswud] Error 2 (ignored)
if not exist ….\lib\gcc_lib mkdir ….\lib\gcc_lib
process_begin: CreateProcess(NULL, -c “if not exist ….\lib\gcc_lib mkdir …
.\lib\gcc_lib”, …) failed.
make (e=2): 系统找不到指定的文件。
makefile.gcc:5628: recipe for target ‘….\lib\gcc_lib’ failed
mingw32-make.exe: * [….\lib\gcc_lib] Error 2
3: 原因
编译环境不干净,在声明PATH环境变量时,是叠加现有的环境变量,估计与其他编译工具相互影响造成;
4: 解决办法
仅仅只设置minGW的环境变量:set PATH=C:\MinGW\bin

1: 编译过程中错误信息:
C:/MinGW/msys/1.0/home/Wayne/src/wxWidgets-2.9.5/src/msw/treectrl.cpp:
In member function ‘virtual bool wxTreeCtrl::MSWOnNotify(int, WXLPARAM,
WXLPARAM*)’:
C:/MinGW/msys/1.0/home/Wayne/src/wxWidgets-2.9.5/src/msw/treectrl.cpp:3280:17:
error: ‘NMTVDISPINFOWW’ was not declared in this scope
TV_DISPINFO info = (TV_DISPINFO )lParam;

2: 解决办法:
打开文件:C:\MinGW\include\commctrl.h
将#define TV_DISPINFO __AW(NMTVDISPINFO) 宏用 #define TV_DISPINFO NMTVDISPINFO 替换.

1.错误信息类似于如下的结果:
if not exist ../../lib/gcc_lib/mswud/wx mkdir ../../lib/gcc_lib/mswud/wx
process_begin: CreateProcess(NULL, -c “if not exist ../../lib/gcc_lib/mswud/wx mkdir ../../lib/gcc_lib/mswud/wx”, …) failed.
原因:编译出错的原因是由于安装了MSYS的缘故。
产生错误的原因是因为安装了MSYS后,利用Make命令会首先执行MSYS中的SHELL命令,从而会导致编译错误,对于这种情况,可以修改 (WX)/build/mswmakefile.gcc使CMDmakefile.gcc():makefile.gccSHELL:= ( W X ) / b u i l d / m s w 目 录 中 的 m a k e f i l e . g c c 文 件 , 使 其 默 认 采 用 C M D 命 令 行 。 在 m a k e f i l e . g c c 中 修 改 下 面 的 行 ( 在 倒 数 ) : m a k e f i l e . g c c 修 改 前 : S H E L L := (COMSPEC)
makefile.gcc修改后: SHELL := C:\WINDOWS\system32\CMD.exe (该路径为实际的CMD.exe的路径)
2.错误ld.exe停止工作
http://www.cnblogs.com/aozima/archive/2011/10/03/2198653.html

转载的:
http://kuafu80.blog.163.com/blog/static/1226471802013913103055757/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值