pwlib1.9.1和wxWindows2.6.2的兼容性问题

上两个礼拜为了做一个xmpp的测试,安装了pwlib1.9.1(最新版本)和wxWindows2.6.2(最新版本),结果发现pwlib1.9.1不兼容wxWindows2.6.2版本,详情请看下面的编译过程:

注:我下的都是压缩版,非安装版,编译器vc.net2003,操作系统win2k profession...

一:编译wxWindows(2.6.2)

1.       到目录 build/msw/wx.dsw VC自己编译全部

 

 

 

              注意:编译时的版本必须和以后需要使用的版本一致.(同时debug或者是relase)

 

     设置包含include和库lib路径.

 

 

 

 

二:编译pwLIB(1.9.1)

可参考网页http://blog.csdn.net/Richard2003/archive/2005/02/16/289353.aspx

 

 

 

1.      解压缩出pwlib文件夹

 

 

 

2.      解压出flexbison,把其tools文件夹放到c盘目录下。把C:/Toolsvc.Net到可执行的目录下面

 

 

 

3.      配制目录insallDir/PWLib/include加入Include directory

 

 

 

4.      运行一下configure.exe

 

 

 

5.      打开根目录下的pwlib.sln

 

 

 

6.      编译一下Console

 

 

 

7.        Executable Files path:insallDir/PWLib/Lib

 

 

 

8.        Lib pathinsallDir/PWLib/Lib

 

 

 

 

 

 

 

 

 

三:.编译xmpptest过程

1.main.h中添加    #define _WINSOCKAPI_(不包含会显示winsock和winsock2重定义)

 

 

 

2.main.cpp中的void XMPPFrame::OnMessage(XMPP::Message& msg, INT)函数中的

 

 

 

if (msg.GetElement("data") == NULL){}语句添加如下语句:

 

 

 

wxString wxStrMsg = _T("收到消息:") ;

 

 

 

         wxStrMsg +=wxString((msg.GetBody()).AsUCS2());

 

 

 

    

 

 

 

void XMPPFrame::OnRosterChanged(XMPP::Roster&, INT)函数中修改语句

 

 

 

     //        g_id = m_RosterTree->AppendItem(rootID, (const char *)key);

 

 

 

           g_id = m_RosterTree->AppendItem(rootID, wxString(key.AsUCS2()));

 

 

 

 

 

 

//wxTreeItemId i_id = m_RosterTree->AppendItem(g_id, (const char *)item.GetName());

 

 

 

       wxTreeItemId i_id = m_RosterTree->AppendItem(g_id, xString((item.GetName()).AsUCS2()));

 

 

 

    

 

 

 

          //          m_RosterTree->AppendItem(i_id, (const char *)res);

 

 

 

              m_RosterTree->AppendItem(i_id, wxString(res.AsUCS2()));

 

    (为支持中文显示所做的修改)

 

3.       出现错误: LINK : fatal error LNK1181: 无法打开输入文件“wxmswd.lib” 但是我编译出的wxWindows库中无此文件,察看链接器->输入中的附加依赖项,其中有wxmswd.libtiffd.libjpegd.libpngd.libregexd.libzlibd.lib这些lib没有。但是有wxtiffdlibwxjpegd.libwxpngd.libwxregxdlibwxzilbd.lib,我想可能是版本问题,lib名字不一样了。

    所以把所有生成的lib包括进去wxbase26d.libwxbase26d_net.libwxbase26d_odbc.libwxbase26d_xml.libwxexpatd.libwxjpegd.libwxmsw26d_adv.libwxmsw26d_core.libwxmsw26d_dbgrid.libwxmsw26d_gl.libwxmsw26d_html.libwxmsw26d_media.libwxmsw26d_qa.libwxmsw26d_xrc.libwxpngd.libwxregexd.libwxtiffd.libwxzlibd.lib。编译链接都没有问题,但是运行后可以看到进程中有xmpptest.exe,但是没有对话框显示,调试得到错误,程序异常中断了,中断位置为malloc.c文件。

          由此我认为pwlib 1.9.1版本不兼容wxWindows2.6.2

       我重新下了一个wxWindows 2.4.2版本,到其src目录下编译wxWindows.dsw文件

    编译好后,设置包含incluelib文件夹,再编译运行xmpptest,成功,运行有对话弹出,并可以登录,显示联系人列表,并可接收消息,但是显示不了中文。

    (为支持中文显示所做的修改)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

     设置包含include和库lib路径.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值