当前位置: 首页 > news >正文

Trea初体验:使用Trea从零到一创建一个项目,用来演示glog库的使用,一行代码没改完成了整个项目的搭建运行

官网链接:Trea国内版

文章目录

  • 创建
  • C++生成一个windows控制台程序 打印hello world
  • 使用cmake构建项目
  • 导入glog库并添加使用示例
  • 帮我通过vcpkg导入glog库
  • 感受

使用Trea从零到一创建一个项目,用来演示glog库的使用。一行代码没改完成了整个项目的搭建运行。
步骤:

创建

1.先提前创建好一个文件夹,点击右上角打开文件夹
在这里插入图片描述

C++生成一个windows控制台程序 打印hello world

在左侧输入指令:C++生成一个windows控制台程序 打印hello world
点击回答右上角生成文件并ctrl+s保存到当前文件夹下,为main.cpp
在这里插入图片描述

使用cmake构建项目

输入指令:使用cmake构建项目
点击回答中的右上角应用&接受
在这里插入图片描述
依次点击运行,将会生成对应exe等文件
在这里插入图片描述
执行到最后一句报错,此时可以选中所有报错信息添加到对话中
在这里插入图片描述
可以看到给出的回答三个都不好用,实际上exe已经生成成功了,但是执行路径不对,查找路径的指令不对
在这里插入图片描述
我们自己手动将目录调整到exe所在目录执行以下试试
执行成功打印出了“hello,world!”
在这里插入图片描述

导入glog库并添加使用示例

输入指令:导入glog库并添加使用示例
给出的回答默认我已经安装了glog库,但是没关系,可以先把相关的cmake等代码应用进项目里
在这里插入图片描述

帮我通过vcpkg导入glog库

输入指令:帮我通过vcpkg导入glog库
点击运行,此时可能需要等待时间比较长,从git上将vcpkg导入到项目中

在这里插入图片描述
在多次尝试之后,终于把vcpkg导入到项目中
在这里插入图片描述
接下来再接着问:帮我通过vcpkg导入glog库
这一句可能需要多执行几次才能成功,所有操作我都没有翻墙处理,翻墙之后也会卡,不知道为啥
在这里插入图片描述
依次执行命令
在这里插入图片描述
上述执行成功后,其实所有资源文件已经齐全了,执行下一条编译指令会报错,报错信息贴出后得出此回答,是无法加载缓存文件的问题,需要把之前编译的文件删除重新编译即可,执行如下指令
在这里插入图片描述
执行完之后又报错,给出错误信息,因为glog不会自动创建./logs文件夹,按着给出答案继续执行
在这里插入图片描述
修改完后再次重新编译,重复上一个回答的代码,重新构建项目

# 进入项目根目录
cd D:\mytestworkspace\GLogTest
# 删除构建目录
Remove-Item -Recurse -Force build
# 重新创建构建目录
mkdir build
cd build
# 重新运行 CMake 并指定 vcpkg 工具链
cmake .. -DCMAKE_TOOLCHAIN_FILE=D:\mytestworkspace\GLogTest\vcpkg\scripts\buildsystems\vcpkg.cmake
# 重新构建项目
cmake --build .

继续报错,编译不通过,还是直接把错误信息贴出来,核心原因是刚刚改的代码添加的#include // 引入文件系统库是C++17标准引入的,修改cmakelist相关配置项,再次编译
在这里插入图片描述
这次编译终于通过,将路径切换到exe所在路径下,输入.\GLogTest.exe,执行成功!log文件也写入成功!
在这里插入图片描述
问题1:它这个运行每次都会开一个新的终端,导致路径就不对,执行出来也不对,鸡肋哈哈
2025/4/17这个问题已经修复了现在会在同一个终端执行指令不会打开新的终端了,但是路径还是无法自己判断哦
在这里插入图片描述

感受

虽然使用起来部分指令、路径、网络问题等还是令人有点抓狂,其实一个月前刚发布国内版的时候就已经开始写这篇文档了,但是在导入编译vcpkg、glog的过程中经常卡住,不管我翻墙还是不翻墙都会卡住,建议修复这个问题,建立国内镜像链接来进行拷贝编译。最后不得不说,整体使用感受还是非常牛逼的,可以不用改一行代码就能成功创建出主程序,导入相关需要的第三方库并自己应用构建项目到最后执行成功。感觉我被淘汰也只是时间问题了哈哈!

http://www.dtcms.com/a/138260.html

相关文章:

  • 2843. 统计对称整数的数目
  • 【Pandas】pandas DataFrame xs
  • 全自动驾驶(FSD,Full Self-Driving)自动驾驶热点技术的成熟之处就是能判断道路修复修路,能自动利用类似“人眼”的摄像头进行驾驶!值得学习!
  • MYSQL “Too Many Connections“ 错误解决
  • 自动驾驶地图数据传输协议ADASIS v2
  • LCOV 使用文档
  • 制表符是什么?与.txt文件的关系?
  • 【JavaWeb】详细讲解 HTTP 协议
  • opencv函数展示2
  • 【力扣刷题】49字母异位词分组,不用哈希,c语言实现
  • 4.17---实现商铺和缓存与数据库双写一致以及宕机处理
  • 「电商玩法」AI自动创作系统源码:商品图+视频+营销文案一键生成
  • 八股文---MySQl(3)
  • 【doris】OLAP引擎分类
  • 12孔AG调陶笛音域全解析:从E4到C6的演奏艺术
  • 怎样才能设计好的自动化测试用例
  • C++事件驱动编程从入门到实战:深入理解与高效应用
  • Docker部署禅道21.6开源版本
  • Linux `init` 相关命令的完整使用指南
  • Spring Cloud Alibaba微服务-微服务介绍和搭建
  • 高级java每日一道面试题-2025年4月12日-微服务篇[Nacos篇]-Nacos中Raft算法的应用场景及其工作原理是怎样的?
  • Excel表格文件转为JSON格式数据
  • 使用datax通过HbaseShell封装writer和reader同步hbase数据到hbase_踩坑_细节总结---大数据之DataX工作笔记008
  • Day2-UFS协议栈
  • uniapp使用createSelectorQuery,boundingClientRect获取宽度和高度不准确的可用的解决方案
  • STM32 HAL库 内部传感器驱动实现
  • 写书的三驾马车
  • 回归,git 分支开发操作命令
  • ONLYOFFICE深度解锁系列.2-Excel 跨文件数据整合实战指南-可道云的另一个严重bug
  • Vscode --- LinuxPrereqs │远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件