在 Windows 系统中安装

通常,LCUI 每次版本更新时都会提供编译好的 LCUI 库及依赖库,你可以直接下载使用。如果你出于某些原因(例如:编译64位版本)需要手动编译一次 LCUI,那么请继续阅读以下内容。

编译依赖项

在 Windows 上手动编译安装依赖库比较麻烦,不过,vcpkg 可以解决这种问题,你可以尝试使用它安装这些依赖项。

以下列出了大致的编译方法,源码包可以在它们的官网中下载到,有的项目会提供 VisualStudio 工程文件,你可以直接打开它然后编译生成它,在编译完后需要将它们提供的头文件复制到编译器能找到的目录。

libpng

freetype

  • 项目主页:https://www.freetype.org/
  • 工程文件:builds/windows/vc2010/freetype.sln
  • 头文件:include/ft2build.h、include/freetype

jpeg

  • 项目主页:http://www.ijg.org/
  • 头文件:jconfig.h、jmorecfg.h、jerror.h、jpeglib.h
    jpeg 库没有提供现成的 sln 工程文件,你需要按照以下步骤手动生成它。

  • 打开开始菜单,找到 Visual Studio 的目录

  • 打开目录里的 VisualStudio 提供的开发人员命令提示工具
  • 在出现的命令窗口中使用 cd 命令切换目录到 jpeg 源码目录
  • 运行命令:nmake -f makefile.vc setup-v15
  • 关闭命令窗口
  • 在源码目录中可看到生成的 jpeg.sln 文件
    如果在运行 nmake 命令后出现提示 未找到文件“win32.mak”,请复制 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include 目录下的 win32.mak 文件到 jpeg 源码目录里,然后重试。

libxml2

  • 项目主页:http://xmlsoft.org/
  • 工程文件:win32/VC10/libxml2.sln
  • 头文件:include/libxml
    如果你想对 libxml2 进行裁剪,你可以在源码目录里的 win32 目录中运行以下命令:
  1. cscript configure.js

可以看到如下输出:

  1. Microsoft (R) Windows Script Host Version 5.812
  2. 版权所有(C) Microsoft Corporation。保留所有权利。
  3. libxml2 version: 2.9.4
  4. Created Makefile.
  5. Created config.h.
  6. XML processor configuration
  7. ---------------------------
  8. Trio: no
  9. Thread safety: native
  10. FTP client: yes
  11. HTTP client: yes
  12. HTML processor: yes
  13. C14N support: yes
  14. Catalog support: yes
  15. DocBook support: yes
  16. XPath support: yes
  17. XPointer support: yes
  18. XInclude support: yes
  19. iconv support: yes
  20. icu support: no
  21. iso8859x support: no
  22. zlib support: no
  23. lzma support: no
  24. Debugging module: yes
  25. Memory debugging: no
  26. Runtime debugging: no
  27. Regexp support: yes
  28. Module support: yes
  29. Tree support: yes
  30. Reader support: yes
  31. Writer support: yes
  32. Walker support: yes
  33. Pattern support: yes
  34. Push support: yes
  35. Validation support: yes
  36. SAX1 support: yes
  37. Legacy support: yes
  38. Output support: yes
  39. XML Schema support: yes
  40. Schematron support: yes
  41. Python bindings: no
  42. Win32 build configuration
  43. -------------------------
  44. Compiler: msvc
  45. C-Runtime option: /MD
  46. Embed Manifest: no
  47. Debug symbols: no
  48. Static xmllint: no
  49. Install prefix: .
  50. Put tools in: $(PREFIX)\bin
  51. Put headers in: $(PREFIX)\include
  52. Put static libs in: $(PREFIX)\lib
  53. Put shared libs in: $(PREFIX)\bin
  54. Include path: .
  55. Lib path: .

其中 FTP 客户端、HTTP 客户端、HTML 处理器等模块是用不到的,可以使用以下命令禁用掉它们:

  1. cscript configure.js ftp=no http=no html=no legacy=no iconv=no catalog=no docb=no modules=no

之后开始编译:

  1. nmake /f Makefile.msvc

文件会输出到 bin.msvc 目录下,这些编译方法在 Readme.txt 文件中有说明。

编译 LCUI

LCUI 主要是在 Windows 系统环境下开发的,你可以使用 VisualStudio 打开 build/windows/LCUI.sln 文件,在编译前,你需要将依赖项的库文件和头文件放在源码目录中的 vendor 目录中,目录结构如下:

  1. vendor/include
  2. vendor/lib

之后,在 VisualStudio 的菜单中选择 生成 -> 生成解决方案 来编译生成 LCUI。如果你用的是其它 IDE,请尝试按该 IDE 的方式创建项目并将源文件添加至项目内,然后配置好依赖项再编译。

安装 LCUI

你可以建立一个专门的目录存放 LCUI 的库文件和头文件,例如:D:/c-dev/,但如果你的项目需要给其他人编译的话,我们建议你设置一个相对目录,例如在源码目录里建立一个 vendor 目录,这样其他人要编译你的项目时,只需要把 LCUI 库文件和头文件复制到 vendor 目录里,无需手动修改配置。

配置

每次新建 LCUI 应用项目时,你都需要手动为项目修改如下配置。看上去很麻烦,如果你感兴趣可以参考这篇文章为 VisualStudio 添加 LCUI 应用程序模板。

  • C/C++ > 常规 > 附加包含目录

    将该项设置为:$(SolutionDir)vendor\include,如果你的 VisualStudio 工程文件不是建立在源码根目录下,例如:/build/windows/project.sln,那么请手动调整该配置项。

  • 链接器 > 常规 > 附加库目录

    将该项设置为:$(OutDir),即:将 exe 输出目录作为附加库目录。

  • 输入 > 附加依赖项

    将该项设置为:LCUI.lib; LCUIMain.lib

  • 生成事件 > 预先生成事件

    将该项设置为:

  1. copy $(SolutionDir)vendor\lib\LCUI*.lib $(OutDir)
  2. copy $(SolutionDir)vendor\lib\LCUI*.dll $(OutDir)

在编译、调试或运行应用时,需要让 lib、dll 文件和 exe 在一个目录,方便链接器能够找到它们。

Windows 通用应用

如果你的应用是 Windows 通用应用,那么你需要在以上配置的基础上再做如下修改。

  • 输入 > 附加依赖项

    将该项设置为:LCUI.lib; LCUIApp.lib

  • 生成事件 > 预先生成事件

    将该项设置为:

  1. copy $(SolutionDir)vendor\lib\uwp\LCUI*.lib $(OutDir)
  2. copy $(SolutionDir)vendor\lib\uwp\LCUI*.dll $(OutDir)

LCUI 的 Windows 通用应用版的库文件存放在 uwp 目录里。

  • 文件

    右键单击项目名称,然后选择 添加 > 现有项…,在文件选择器中选择 LCUI.dll 和 LCUIApp.dll 文件。添加后,右键点击这些文件并选择 属性,将 常规 > 内容 设置为

完成

至此,你已经知道了 LCUI 的安装和编译方法,以及 LCUI 应用程序项目的配置方法,接下来你可以开始尝试编写 Hello World

原文: https://docs.lcui.lc-soft.io/zh-cn/install/windows.html