SkinUI 更新历史

文章转自:http://www.gymsaga.com/project/596.html

2013/11/3日代码问题:

  • release版本编译出现如下错误的解决办法

1>—— 已启动生成: 项目: SkinUI, 配置: Release_Unicode Win32 ——

1>正在链接…

1>libcmt.lib(tidtable.obj) : error LNK2005: __encode_pointer 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(tidtable.obj) : error LNK2005: __encoded_null 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(tidtable.obj) : error LNK2005: __decode_pointer 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(invarg.obj) : error LNK2005: __invalid_parameter_noinfo 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(crt0dat.obj) : error LNK2005: __amsg_exit 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(crt0dat.obj) : error LNK2005: __initterm_e 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(crtheap.obj) : error LNK2005: __malloc_crt 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(mlock.obj) : error LNK2005: __unlock 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(mlock.obj) : error LNK2005: __lock 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(winxfltr.obj) : error LNK2005: ___CppXcptFilter 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>libcmt.lib(crt0init.obj) : error LNK2005: ___xi_a 已经在 msvcrt.lib(cinitexe.obj) 中定义

1>libcmt.lib(crt0init.obj) : error LNK2005: ___xi_z 已经在 msvcrt.lib(cinitexe.obj) 中定义

1>libcmt.lib(crt0init.obj) : error LNK2005: ___xc_a 已经在 msvcrt.lib(cinitexe.obj) 中定义

1>libcmt.lib(crt0init.obj) : error LNK2005: ___xc_z 已经在 msvcrt.lib(cinitexe.obj) 中定义

1>libcmt.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) 已经在 msvcrt.lib(MSVCR90.dll) 中定义

1>   正在创建库 ../Lib/SkinUI_u.lib 和对象 ../Lib/SkinUI_u.exp

1>LINK : warning LNK4098: 默认库“msvcrt.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

1>msvcrt.lib(cinitexe.obj) : warning LNK4098: 默认库“libcmt.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library

1>libcmt.lib(crt0.obj) : error LNK2001: 无法解析的外部符号 _main

1>../Bin/SkinUI_u.dll : fatal error LNK1120: 1 个无法解析的外部命令

1>生成日志保存在“file://d:\windows\Documents\Visual Studio 2008\Curriculum\SkinUI\SkinUI\Release_Unicode\BuildLog.htm”

1>SkinUI – 17 个错误,2 个警告

========== 生成: 成功 0 个,失败 1 个,最新 3 个,跳过 0 个 ==========

打开属性—链接器—输入–忽略特定库–输入libcmt.lib即可解决问题

  • release版本无法显示QQ主面板的问题

之前我们在主窗口的OnInitDialog方法中通过SetWindowPlacement隐藏点了主窗口,但是我们试图在release版本中通过SetWindowPlacement显示窗口时莫名其妙的不显示了,具体问题不清楚,在重新又通过SetWindowPlacement显示窗口时,WINDOWPLACEMENT结构体的所有数据全是错误的,但是SetWindowPlacement却调用成功了,对于这个问题我们用另外一种方法解决,窗口的隐藏无非就是窗口的大小为0了,所以,我们在OnInitDialog中将窗口的大小设为0即可

1
2
//隐藏窗口
SetWindowPos(NULL,0,0,0,0,NULL);

在收到登陆消息时,我们将窗口大小重新设置即可

LRESULT CQQDlg::OnLogonMessage( WPARAM wParam,LPARAM lParam )
{
    //销毁登陆
    m_LogonDlg.PostMessage(WM_CLOSE);
      
    //更新资源
    UpdataResource();
      
    SetWindowPos(NULL,0,0,281,700,SWP_SHOWWINDOW);
    CenterWindow(); 
      
    return TRUE;
}






你可能感兴趣的:(SkinUI 更新历史)