GacLib入门教程 - 使用msvc命令行编译

gaylib是一个c++的GUI库,由vczh编写。由于我只安装了vs build tools,没有装ide,又不想安装vs ide,只好用命令行编译。本文介绍使用msvc编译工具编译demo。

官网在http://gaclib.net

编写代码

按照如下链接编写一个demo
http://gaclib.net/doc/current/gacui/running.html

编译

打开“visual studio 开发者命令提示符 x64”,不同版本名字可能不一样,但是都差不多。
x64 Native Tools Command
切换到代码所在的根文件夹,也就是WinMain.cpp和Main.cpp所在的文件夹。

有两种办法编译,一是直接编译所有文件,并链接成可执行程序;二是将GacUI编译成库,然后再链接。前者方便,但是每个项目都要编译一次库;后者编译步骤比较多,但是可以加快编译速度。

方法一:

直接一条命令搞定,cl会自动编译并链接

cl /EHsc /MD /O1 /bigobj /I .\Lib /I . /D VCZH_DEBUG_NO_REFLECTION /D UNICODE /D _UNICODE  /D WIN32 /D NDEBUG /D_WINDOWS  Lib\Skins\DarkSkin\*.cpp WinMain.cpp Lib\*.cpp Main.cpp UI\Source\*.cpp DarkSkin.lib User32.lib mincore.lib OneCore.lib Gdi32.lib /Fe: gaa.exe

方法二:

  1. 编译库,只编译,不链接

    cl /c /EHsc /MD /O1 /bigobj /I .\Lib /I . /D VCZH_DEBUG_NO_REFLECTION /D UNICODE /D _UNICODE  /D WIN32 /D NDEBUG /D_WINDOWS  Lib\Skins\DarkSkin\*.cpp WinMain.cpp Lib\*.cpp
    

    完成后产生DarkSkin.obj GacUI.obj GacUIWindows.obj Vlpp.obj VlppOS.obj VlppParser.obj VlppReflection.obj VlppRegex.obj VlppWorkflowLibrary.obj WinMain.obj

  2. 生成静态链接库

    lib *.obj
    

    完成后产生DarkSkin.lib
    这时上一步生成的obj文件就没用了,可以删除了。这里请务必先删除再进行下一步,或者第 4 步不要用通配符。

  3. 编译项目本体

    cl /c /EHsc /MD /O1 /bigobj /I .\Lib /I . /D VCZH_DEBUG_NO_REFLECTION /D UNICODE /D _UNICODE  /D WIN32 /D NDEBUG /D_WINDOWS Main.cpp UI\Source\*.cpp
    

    完成后产生HelloWorldPartialClasses.obj HelloWorldReflection.obj Main.obj

  4. 链接

    link /SUBSYSTEM:WINDOWS *.obj DarkSkin.lib User32.lib mincore.lib OneCore.lib Gdi32.lib /OUT:ga.exe
    

    完成后生成ga.exe就是最终的程序了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值