如何快速配置并完成Ultimate项目的编译与链接?

摘要:U++(全称 Ultimate++)是一个开源的 C++ 跨平台应用程序框架,以其高性能、低资源占用和高度集成的开发理念而闻名。它旨
U++简介 U++(全称 Ultimate++)是一个开源的 C++ 跨平台应用程序框架,以其高性能、低资源占用和高度集成的开发理念而闻名。它旨在提供“更少代码、更快执行”的开发体验。 主要特点: 高度集成 包含GUI、数据库、网络、XML、JSON等完整工具链,减少对第三方库的依赖。 智能编程模型 强调使用C++ RAII、智能指针等现代特性,自动管理资源,提升代码安全性。 高效的GUI开发 提供自绘GUI库(U++ Controls),支持Windows、Linux、macOS,界面响应迅速且内存占用低。 编译与构建工具 自带TheIDE集成开发环境,包含智能代码编辑器、可视化设计器和构建系统umake,支持并行编译与代码优化。 性能优先 注重运行时效率,生成的程序体积小、启动快,适合开发桌面应用和工具软件。 示例代码片段(简单窗口): #include <CtrlLib/CtrlLib.h> using namespace Upp; class MyApp : public TopWindow { public: MyApp() { Title("Hello U++"); SetRect(0, 0, 400, 200); } }; GUI_APP_MAIN { MyApp().Run(); } 适用场景: 桌面应用程序、工具软件、数据管理平台等对性能和轻量化有较高要求的项目。 U++通过“全栈式”设计帮助开发者用C++快速构建高效且跨平台的应用程序。 U++集成开发环境TheIDE使用 项目工程 TheIDE默认examples(例程)、MyApps、reference(参考项目)、tutorial(教程项目)、uppsrc(U++官方程序集)这5个程序集,其中MyApps是默认留给用户开发项目的,uppsrc是最重要的程序集,所有开发需要的模块包都在这里面。 程序集又分为Main packages(用来生成最终项目(可执行程序或库))和Non-main packages(供主模块引用的模块包)。 创建你的项目: 选择MyApps,窗口左下角选择Main packages,下方靠右边选择New package按钮在弹出的对话框中定制你的项目(或者在Package区右键会有更多功能选择),然后Create按钮就可以写代码了。后续需要打开你的项目,可以选择项目后OK按钮(或直接双击)打开。你也可以新建自己的程序集,在Assembly区右键选择New assembly,自己指定路径。如图: 构建生成 首先看窗口工具栏,有两个可编辑的工具条,分别是构建标志(GUI等,可以多个标志一组,空格隔开)和编译器配置(CLANG Debug等),这决定了最终的输出配置,参考下图: 重要的构建标志还有SHARED(构建动态库)、MAKE_LIB(构建静态库)等,见官方文档详细说明。 为你的项目添加依赖包: 选择你的模块包,右键选择Add package to... 如图: 选择一个你需要的依赖包即可。 包的配置管理: Project菜单选择Package organizer(或者模块包右键菜单选择),弹出窗口(选择Core模块作为跨平台配置参考),严格的包依赖关系全部在这里管理,如图: Accents中是指定标志(包提供者决定怎么编译这个包),编译器将据此生成目标文件。下方是具体的条件编译配置,条件即是构建标志,意思就是根据构建标志这些条件使用依赖包、库、链接选项等。(提示:找到并打开Core.upp文本文件你会观察到这些内容完全一致。) 同样Project菜单还有个Main package configuration(或者点击工具栏标志工具条),在弹出如下窗口中可配置管理多组构建标志,支持交叉编译等高级跨平台功能。 关于标志补充说明: 所有标志会被U++构建工具自动解析为"flag"前缀的预编译宏,如flagGUI、flagDLL、flagUSEMALLOC等,你也可以自定义标志,且完全满足这条规则,意味着你可以灵活地处理条件编译(#ifdef flag...)。 输出模式设定 Build菜单选择Output mode(或者点击工具栏编译器工具条),弹出窗口,你可以指定覆盖目标文件路径、启用Blitz编译技术、创建其他输出文件等,如图: 调试运行设置 Debug菜单选择Run options,在下图所示的窗口中可设置程序运行输入参数、标准输出重定向到文件等。 Assist菜单下提供了U++框架更多的实用和辅助等高级功能。
阅读全文