XBMC 11.0 稳定版 Windows VS 2012 + VS2010 编译

1. 下载稳定版源码

Source Code  http://xbmc.org/download/

Stable release sources are available here. XBMC 11.0 稳定版

2. wiki  HOW-TO:Compile XBMC for Windows

  2.1 Microsoft DirectX SDK June 2010 version here 安装,可能遇见的问题DirectX SDK (June 2010)安装遇到Error Code S1023

  2.2 Visual C++ 2010 如果先装了VS 2012 后装 VS 2010 及 sp1 没有问题

     2.3 Run DownloadBuildDeps.bat in "path\to\xbmc\project\BuildDependencies" (Avoid spaces in the path to the XBMC code directory. The batch file doesn't like them at the moment.) 路径中间不要有空格

     /////////////// ffmpeg编译 2013/01/29 否则视频播放不了

     2.4 DownloadMingwBuildEnv.bat (also located in the folder project\BuildDependencies) to download the necessary items for building the ffmpeg libraries. 

     2.5 buildmingwlibs.bat (in project\Win32BuildSetup). This will build the ffmpeg libraries.

3. 编译

     3.1 如果使用VS2012 不要升级工程,实际还是用VS2010的编译器编译;只是vs2012的智能提示好用

   3.2  XBMC\project\VS2010Express\XBMC for Windows.sln 并且 Choose DirectX (OpenGL is deprecated).

     3.3 编译会出现一些错误,参考解决中文操作系统下编译XBMC的问题

XBMC 11.0 稳定版需要替换的内容 

LocalizeStrings.cpp Line132

// fill in the constant strings
m_strings[20022] = "";
m_strings[20027] = ToUTF8(encoding, "\xB0\x46"); //m_strings[20027] = ToUTF8(encoding, "癋");
m_strings[20028] = ToUTF8(encoding, "K");
m_strings[20029] = ToUTF8(encoding, "\xB0\x43"); //m_strings[20029] = ToUTF8(encoding, "癈");
m_strings[20030] = ToUTF8(encoding, "\xB0\x52\xE9"); //m_strings[20030] = ToUTF8(encoding, "癛?);
m_strings[20031] = ToUTF8(encoding, "\xB0\x52\x61"); //m_strings[20031] = ToUTF8(encoding, "癛a");
m_strings[20032] = ToUTF8(encoding, "\xB0\x52\xF8"); //m_strings[20032] = ToUTF8(encoding, "癛?);
m_strings[20033] = ToUTF8(encoding, "\xB0\x44\x65"); //m_strings[20033] = ToUTF8(encoding, "癉e");
m_strings[20034] = ToUTF8(encoding, "\xB0\x4E"); //m_strings[20034] = ToUTF8(encoding, "癗");

XBMChttp.cpp  Line 2763

if(strInfo.Find("\xEF\xBF\xBD") && strInfo.Find("\xEF\xBF\xBD")) //if(strInfo.Find("�") && strInfo.Find("�"))
{
// The Charset Converter ToUtf8() will add. only in this case= "�" a char "°" during converting,
// which is the right value for the GUI!
// A length depending fix in CCharsetConverter::stringCharsetToUtf8() will couse a wrong char in GUI.
// So just for http, we remove the "�", to fix BUG ID:[1586251]
strInfo.Replace("\xEF\xBF\xBD",""); //strInfo.Replace("�","");
}

   此时继续编译,编译成功。

4. debug

  4.1 Goto the Debugging settings and enter "XBMC_HOME=C:\Dev\XBMC" (without quotes) in the "Environment" field, where C:\Dev\XBMC is the path where your XBMC root is (containing language/skin/system/userdata folders etc.) 

            在 调试->环境 输入  XBMC_HOME=D:\xbmc\xbmc-11.0 会去这个路径下找 language文件夹等加载配置

            2013/01/30 更好的办法是设置为XBMC_HOME=../..

      4.2 Copy *.dll from "project\Win32BuildSetup\dependencies" to the build directory, e.g. "project\VS2010Express\XBMC\Debug (DirectX)"

            D:\xbmc\xbmc-11.0\project\Win32BuildSetup\dependencies 文件夹下的dll文件要拷贝过去,缺的是glew32.dll

      4.3 VS 2012可能直接debug会有问题,有些库不编译; 先用VS 2010 debug一次

原文地址:https://www.cnblogs.com/logitechlike/p/2876164.html