Comments (17)
In terms of versatility, I recommend CMake.
I've decided to use xmake because I can easily communicate with xmake author about usage issues.
Here is the xmake configuration file: https://github.com/lc-soft/LCUI/blob/v3.0-dev/xmake.lua
from lcui.
As you still in planning, may be you should have a look at Blend2D and think of QuickJS integration.
(I'm not affiliated with them :) )
from lcui.
Just out of curiosity - why complicate build process so much? Why not to use any cross-platform build system (meson, xmake, may be even simple makefiles?). I like LCUI, but I feel like installing it in the past was easier (at least on linux)
from lcui.
Just out of curiosity - why complicate build process so much? Why not to use any cross-platform build system (meson, xmake, may be even simple makefiles?). I like LCUI, but I feel like installing it in the past was easier (at least on linux)
Because the building tools I knew before I created LCUI project were autotool and Visual Studio, so I used them to build LCUI in Linux and Windows respectively. As the project is updated, the build configuration becomes more and more complex.
In the 3.0 development plan, I plan to use cross platform building tools to build LCUI. The new source code organization may allow me to compile LCUI by adding a simple configuration without spending too much time researching the documentation of the build tool.
from lcui.
I'm not a C programmer, so it might be a silly question, but why prefix all the names with "lib" prefix? By defition this is a library, so why specify it on all entities
from lcui.
I'm not a C programmer, so it might be a silly question, but why prefix all the names with "lib" prefix? By defition this is a library, so why specify it on all entities
There are two reasons for using the lib prefix:
- Using LCUI as the prefix name is too long, so temporarily use lib instead of LCUI as the prefix.
- The lib prefix can describe that this identifier imported from a third-party library, rather than the code of the project itself.
For this prefix name problem, we have the following solutions:
- Choose a new name for LCUI. If the new name of LCUI can be abbreviated by one letter, as in
Qt
, it can be abbreviated asQ
, then this letter can replacelib
as the prefix name. - Do not use lib as a prefix.
from lcui.
I want to know more about the basic tools library to decide whether I will try realizing it. Could you make a list of the features that are in need? For example, as for the container, do you need all the containers in STL(I mean the Standard Template Library in C++), or just a vector and map?
By the way, the website says all the contributors of the project are Chinese, so must I use English when I write comments and documents?
from lcui.
the website says all the contributors of the project are Chinese,
@FireInIceCode The website you mentioned is summer.iscas.ac.cn?
from lcui.
No, the
the website says all the contributors of the project are Chinese,
@FireInIceCode The website you mentioned is summer.iscas.ac.cn?
No, I mean https://lcui.org/
主要理由如下:
给其他开发者一个打造或推广开源项目的机会。
寻找合适的解决方案。因悬赏任务而开发的项目,会优先考虑我们的需求并给出合适的解决方案,能让我们快速上手并将之应用到 LCUI 中。
促进技术交流和合作。都是国人开发的开源项目,交流和合作比较方便一些,而且由于项目的依赖关系,还有机会为对方的项目反馈问题和建议以及贡献代码。
合理利用现有资源,节约成本。在用其他开源项目前需要花大量时间找文档学习,遇到问题时不容易找到方法,如果用的项目是国人开发的且他有空给你提供技术支持,那就简单多了。
让更多的人参与进来。开源的意义在于大家都可以参与推动项目的发展,而让大家参与的前提是他们知道这个项目是什么、打算做什么以及他们能提供哪些帮助,如果所有工作都让我们自己独自承当的话,那这个项目就会一直停留在自娱自乐的水平。
from lcui.
No, I mean https://lcui.org/
你贴的是 lcui.lc-soft.io 中文主页上的内容,不是 lcui.org。
so must I use English when I write comments and documents?
优先用中文。
from lcui.
Just out of curiosity - why complicate build process so much? Why not to use any cross-platform build system (meson, xmake, may be even simple makefiles?). I like LCUI, but I feel like installing it in the past was easier (at least on linux)
Because the building tools I knew before I created LCUI project were autotool and Visual Studio, so I used them to build LCUI in Linux and Windows respectively. As the project is updated, the build configuration becomes more and more complex.
In the 3.0 development plan, I plan to use cross platform building tools to build LCUI. The new source code organization may allow me to compile LCUI by adding a simple configuration without spending too much time researching the documentation of the build tool.
In terms of versatility, I recommend CMake.
from lcui.
- A video component using small library (https://github.com/cisco/openh264) would be great!
- Also since lcui uses cpu and gdi+ a host component can be very good to host other windows and controls inside the lcui UI.
from lcui.
Just out of curiosity - why complicate build process so much? Why not to use any cross-platform build system (meson, xmake, may be even simple makefiles?). I like LCUI, but I feel like installing it in the past was easier (at least on linux)
Because the building tools I knew before I created LCUI project were autotool and Visual Studio, so I used them to build LCUI in Linux and Windows respectively. As the project is updated, the build configuration becomes more and more complex.
In the 3.0 development plan, I plan to use cross platform building tools to build LCUI. The new source code organization may allow me to compile LCUI by adding a simple configuration without spending too much time researching the documentation of the build tool.In terms of versatility, I recommend CMake.
From what I've seen so far cmake is always horrible to maintain and understand 🤷
from lcui.
I've decided to use xmake because I can easily communicate with xmake author about usage issues.
Here is the xmake configuration file: https://github.com/lc-soft/LCUI/blob/v3.0-dev/xmake.lua
That is good. It depends on your convenient of development.
But personally, I still think it will better to provide an option of CMake.
For the following reasons:
- Many IDEs integrate native support for CMake, such as VS, Clion, QT.
- At least until now, the number of users using cmake is larger than that using xmake. To use LCUI, some people have to configure and learn xmake (IDE can generate CMAKE configuration) which means that the use cost increases.
- More general and powerful.
CMake has become the de-facto standard of C/C++ development tools. For further promotion, CMake is still needed.
Maybe, you can think about it later.
from lcui.
From what I've seen so far cmake is always horrible to maintain and understand 🤷
Maybe it’s a bit more complicated, but it’s also very useful (just like C++ 🤪).
from lcui.
xmake supports generating CMakelists.txt file using the xmake project -k cmakelists
command.
1. Many IDEs integrate native support for CMake, such as VS, Clion, QT.
This is not a necessary reason to use CMake. The IDE can also be used just as a code editor, the only bit of trouble is that we need to open the command line terminal and then type the xmake command if necessary to build the project. In Linux, I use VSCode to edit the code of LCUI and use xmake command to build LCUI in its built-in command line terminal. Such development mode does not affect my development efficiency.
2. At least until now, the number of users using cmake is larger than that using xmake. To use LCUI, some people have to configure and learn xmake (IDE can generate CMAKE configuration) which means that the use cost increases.
As a library, lcui is commonly used in two ways:
- Download the compiled binary package and extract the header file and library file (
.dll
,lib
or..a
.so
) from it, and then manually configure the header file directory and library directory of the compiler in your project. - Download the source code and compile it manually. In the simplest case, you only need to run the
xmake
command to build LCUI. If you have more needs, it is necessary to learn xmake, and I don't think the learning cost of xmake is high.
3. More general and powerful.
This is not a reason for me to use CMake. I only focus on whether I can describe the build configuration of the project with less and simple code, and I am not interested in whether it is powerful.
from lcui.
3.0 支持多窗口吗
from lcui.
Related Issues (20)
- English API Documentation HOT 3
- Connecting Frontend to Backend HOT 2
- Modal Window Still Clickable HOT 3
- Text input not working for keys, which are symbol on Shift hold (such as $ or £) HOT 2
- TextEdit 删除文字BUG
- GPU Backend HOT 2
- 老哥,LCUI好像没办法创建多窗口? HOT 2
- 主页上的例子直接编译好多都编译不过去,老哥不改改嘛? HOT 1
- 默认的例子最大化后再最小化,控件都没了。 HOT 1
- Keyboard Input Doesn't Work (Windows x64) HOT 6
- 请问支持C++吗 HOT 1
- C++ 相关问题 HOT 2
- File Dialog? HOT 1
- textedit相关问题 HOT 4
- 静态库错误 HOT 6
- 希望可以添加对android的支持 HOT 1
- Failed to build on MSYS2 MINGW64 HOT 1
- Please add cmake based build script HOT 1
- Make documentation page open source, for translation HOT 1
- 请问哪里能下载比v0.12.4更早版本的源代码? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lcui.