mirror of
https://gitee.com/idea4good/GuiLite.git
synced 2026-01-02 12:27:22 +08:00
2.8 KiB
2.8 KiB
How to build & port GuiLite?
How to build GuiLite libary for Windows?
Prerequisite: Windows & Visul Studio 2013/2015/2017/2019
- Open "GuiLite.sln" by Visual Studio
- Click
Build Solution - Output here: \GuiLite\Debug(Release)\GuiLite.lib
FAQ: Error when open GuiLite project with Visual Studio, reconfigure the project to match your computer like this:
How to build GuiLite libary for iOS/Mac and Linux(amd64) & raspberry pi?
cd GuiLitecmake .make- Output here: /GuiLite/libGuiLite.a
How to build GuiLite libary for ARM Linux?
Prerequisite: Install cross compiler:
- For ARM32:
sudo apt-get install g++-arm-linux-gnueabi gcc-arm-linux-gnueabi - For ARM64:
sudo apt-get install g++-aarch64-linux-gnu gcc-aarch64-linux-gnu
Build
cd GuiLite- For ARM32:
cmake -D CMAKE_C_COMPILER="/usr/bin/arm-linux-gnueabi-gcc" -D CMAKE_CXX_COMPILER="/usr/bin/arm-linux-gnueabi-g++" . - For ARM64:
cmake -D CMAKE_C_COMPILER="/usr/bin/aarch64-linux-gnu-gcc" -D CMAKE_CXX_COMPILER="/usr/bin/aarch64-linux-gnu-g++" . make- Output here: /GuiLite/libGuiLite.a
How to build GuiLite libary for Android?
Prerequisite: Install cross compiler:
sudo apt-get install gcc-arm-linux-androideabi
Build
cd GuiLitecmake -D CMAKE_C_COMPILER="/usr/bin/arm-linux-androideabi-gcc" -D CMAKE_CXX_COMPILER="/usr/bin/arm-linux-androideabi-g++" .make- Output here: /GuiLite/libGuiLite.a
How to build GuiLite libary for any MCU?
Prerequisite: Install Keil uvsion 5.6 or above.
Build
- Open
GuiLite.uvprojxwith Keil uvsion. - Implement function(e.g, thread_sleep) in
core\src\adapter\api_unknow.cppto meet your need. - Choose your Device type(Default: STM32F103ZE) from option for target.
- Build GuiLite.
- Output here: /GuiLite/Objects/GuiLite.lib
How to port?
Here are 2 options for porting. For option 1: you should build GuiLite library, and move all headers files & library to your project; For option 2: You do not need to build GuiLite library, just merge all GuiLite code into 1 header(GuiLite.h) & 1 source(GuiLite.cpp), then move the 2 files to your project.
We recommend option 2, because of:
- Easy to port - no need to buid library
- Easy to move - just 2 files
- Easy to manage header files - just 1 header file
- Easy to debug - no library binary
Option 1: Header & Library
- Headers: core_include, widgets_include
- Library: The GuiLite library
- Move core_include/widgets_include to your project
- Build GuiLite library by above building process
- Link GuiLite library to your project
- Rebuild your project
Option 2: Header & Source
- Execute
1h-1cpp.shto merge the whole source code into: 1 header(GuiLite.h) & 1 source(GuiLite.cpp) - Move GuiLite.h/GuiLite.cpp to your project
- Rebuild your project
