妖怪幻 发表于 2015-5-17 05:40:33

wxwidgets 在win7 下Vs2008 的安装

  项目要求使用wxwidgets,早就听过N遍大名了,一直没用过,正好可以试试,首先不用多说了下载我下载了2.91 msi版本。由于是win7系统,又使用了用户控制,没敢装到C盘直接装了D:\wxWidgets-2.9.1。以下就是比较坎坷的安装过程了:
  1)启动VS2008 打开D:\wxWidgets-2.9.1\build\msw\wx_vc9.sln 编译wxwidgets
  问题一出现:直接出现了40多个致命错误,显示无法打开程序数据库;
      查找MSDN问题说明,指出我的用户区域设置同系统区域设置不同,仔细查看了以下相同,应该不是这个原因,估计是Win7兼容性捣鬼。开始调整VS2008的兼容性设计,多次反复后编译将Vs2008的兼容性设置windows vista 可以进行编译。
  2)继续编译,首先编译的是universal Release 一路绿灯 OK通过生成文件
  3)调整配置编译universal Debug 提示出错
  问题二:
     1)D:\wxWidgets-2.9.1\lib\vc_lib\mswunivud\wx\msw\rcdefs.h属性为只读无法删除;
     2)多个文件无法打开wx/setup.h文件;
     首先确定以下配置,发现工具->选项->项目和解决方案->VC++目录 的包含目录没有指定添加如下内容
      D:\wxWidgets-2.9.1\include
      D:\wxWidgets-2.9.1\includemsvc\wx
     关闭VS2008重新启动,编译正常通过
  4)这时想起Release版的运行库应该设定为/MT 而不应该是/MD 否则生成内容还是要依赖VS2008,于是修改每个VCproj配置属性->C/C++/代码生成->运行库 修改为多线程/MT
  5) 重新编译 universal Release 问题二重新出现,以前已经编译成功的内容为什么有出现了问题? 这次问题集中出现在aui项目中,于是将aui的配置属性改回/MD单独编译成功,在改回/MT编译成功,为什么会这样???
  6)编译成功后可以实验以下sample中的例子 opengl、grid、ribbon都非常正常,auidemo这个例子release版正常 debug版提示一个预编译头有问题,不太理解
   几点注意:

[*]   由于编译的LIB都是Unicode版本因此在设计程序时应该将配置文件设定为 universal Release(debug)
[*]   最好将wxwidgets安装目录下的source目录加入到系统选项中vc ++目录中的源文件目录列表中
[*]在编译成relase版本时不用忘记将运行库修改为多线程(/MT)选项。
[*]
  
页: [1]
查看完整版本: wxwidgets 在win7 下Vs2008 的安装