03 SCons 自动构建工具编译hello.c

2023-05-16

  1. 安装mingw 我的电脑已经安装过,下面主要说下配置环境

  1. 我们将mingw的路径和scons的虚拟环境路径添加到临时的环境变量,这样做的好处是使用的时候添加,不与其它版本的全局的环境变量冲突。后期我编译ARM程序时把gcc临时环境变量改为arm-gcc路径即可。

  1. 写一个bat脚本c_c++_env.bat,内容如下

@echo on
@echo run in cmd.exe
@echo off

@echo display current path:
@set current_path=%~dp0
@echo %current_path%
set path=e:\tools\miniconda3\envs\embed;E:\Qt\Tools\CMake_64\bin;E:\Qt\Tools\Ninja;E:\Qt\Tools\mingw1120_64\bin
@echo

因为我安装过QTE6,它的构造环境是cmake+Ninja,编译环境是mingw。我把这些全部设置成我的临时环境变量。

暂时我们不讲cmake+Ninja,我的scons构造工具安装到虚拟环境embed,所以我把他的路径也设置为临时环境变量。

  1. 把这个bat批处理文件在cmd.exe里运行。

我这里推荐一个终端管理工具ConEmu,它可以管理多个终端如下图

具体 ConEmu的使用请网络搜索。

  1. 把c_c++_env.bat 设置成在ConEmu中启动

  1. 启动 C_C++_env终端

  1. 在终端中检查各工具是否安装正常

  1. 编写一个helloworld代码 hello.c

#include <stdio.h>
void main(void)
{
    printf("hello,world\r\n");
}
  1. 使用gcc直接简单编译

gcc hello.c //编译
a.exe      //运行

输出 hello,world
  1. 使用SCons构建hello.c编译规则

在hello.c同目录下创建文件 SConstruct ,注意:没有后缀。

SConstruct文件内容如下:

Program('hello.c')
  1. 在终端执行 命令

scons

执行hello.exe

到目前为止,一个最简单的scons构造规则完全结束。

代码编辑器我使用Visual Code 我只使用它的编辑功能,编译在终端中执行scons

总结一下:

  1. 安装gcc 环境,设置临时环境变量

  1. 安装scons环境,设置scons临时环境变量

  1. 编写hello.c源代码

  1. 编写 SConstruct 构造器文件 调用 Program('hello.c'),指定要编译的源代码文件

  1. 执行scons

  1. 运行hello.exe 查看结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

03 SCons 自动构建工具编译hello.c 的相关文章

  • C++ 保姆级教程——001、书写hello world

    使用VS新建一个空项目 xff0c 书写hello world 1 打开软件 xff0c 选怎文件 2 点击选择Visual C 43 43 下的空项目 xff0c 设置文件名称和保存路径 3 添加cpp源文件 xff0c 选择左侧源文件
  • python输出hello 名字_python输入输出语句

    输出 用print 在括号中加上字符串 xff0c 就可以向屏幕上输出指定的文字 比如输出 39 hello world 39 xff0c 用代码实现如下 xff1a gt gt gt print 39 hello world 39 pri
  • PX4编译——搭建你的第一个应用(Hello Shy)

    一 编译环境 1 ubuntu20 04 2 px4 V2 二 编写测试程序 下载好px4code之后 xff0c 在src examples px4 simple app里面有cmakelist txt和px4 sample app cp
  • PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky

    前提 用UART1连接PX4FMU和计算机 安装PX4Toolchain 注册Github账户 Step 1 准备源码文件 为了方便管理代码 xff0c 可以使用GIT 版本控制系统 xff0c 在 GitHub上 fork和更新源码 不注
  • Hello, Weka

    转自http dreamhead blogbus com logs 16813833 html Weka xff0c 是一个用Java编写的数据挖掘软件 数据挖掘 xff0c 从字面上来看 xff0c 它是一个从数据中找寻有用信息的过程 x
  • stm32F103C8T6串口通信发送Hello Windows

    本文是基于STMF103C8T6 芯片及开发板 xff0c 在深入理解串口通信的原理后完成实操 xff0c 发送Hello Windows 文章目录 一 通信方式1 串行通信2 并行通信3 同步通信和异步通信 二 串口通信协议1 串口通信协
  • Linux:Hello World 模块

    前言 Linux 系统为应用程序提供了功能强大且容易扩展的 API xff0c 但在某些情况下 xff0c 这还远远不够 与硬件交互或进行需要访问系统中特权信息的操作时 xff0c 就需要一个内核模块 下面从 Hello World 模块来
  • scons 实用说明(一)

    还在为写一个makefile发愁吗 还在为难记的make参数而苦恼吗 有了scons一切都边的简单了 最近研究了下scons 发现和makefile相比 soncs编译c和c 程序真的太方便了 搞程序什么做好 当然是简单实用最好下面大家就一
  • SCons 在 Windows 中启动超慢

    长期以来 我在使用 SCons 进行构建时一直饱受启动时间过长的困扰 在我的旧工作笔记本电脑上 构建最基本的 hello world 示例可能需要长达 60 秒的时间 我刚刚收到一台新笔记本电脑 所以我有机会进一步调查这一点 我们的笔记本电
  • 从 Repository() 编译的源代码未放入分层 SCons 项目的变体目录中

    我有一个分层项目 它使用公共系统目录中的源代码 为此我使用 SConsRepository 函数并希望将所有构建输出 本地代码和从存储库中获取的代码 放置在variant dir中 如果我使用Repository 在简单场景中运行函数 非分
  • 在 scons 'Program' 命令中使用 'LIBS' 找不到静态库,为什么?

    我有一个 n c 作为主函数 o c 作为导入函数 如下所示 cat n c o c int f int main f return 0 include
  • COBOL 的 Scons

    我想在 scons 中创建一个与 COBOL 一起使用的构建器 这是一个开始 import re Import env Source src cpy COPYBK1 cpy src cpy COPYBK2 cpy src cpy COPYB
  • 使用 SCons 进行真正的分层构建?

    所以我读过这里有关分层构建的问题 例如 使用 SCons 创建分层构建 https stackoverflow com questions 3709321 creating a hierarchical build with scons 我
  • SCons:获取原始文件的绝对路径(就好像我没有设置variant_dir一样)

    我可以用File foo bar abspath获取文件的位置 但如果我设置了variant dir 则返回的路径将位于variant dir而不是原始位置 如果我有duplicate 0设置 那么返回的文件实际上并不存在 显然 SCons
  • 如何告诉 scons 使用 C++11 标准

    我无法找到如何告诉 scons 接受 c 11 标准 SConstruct 文件 env Environment CPPPATH usr include boost CPPDEFINES LIBS SCONS CXX STANDARD c
  • 为什么 clang 在 Scons 下不显示颜色输出?

    使用 Scons 构建时 我可以将其配置为使用 clang 如下所示 env CXX clang 但是 它似乎没有保留 clang 输出的颜色信息 我怎样才能让 scons 保留颜色 根据铿锵文档 http clang llvm org d
  • 如何在 scons 中添加 --whole-archive 链接器选项?

    我有一个仅在静态范围内与应用程序交互的库 这需要我将库与 whole archive选项以避免链接器 优化 库 这样做是因为链接器实际上从未看到我的库正在被使用 问题是我还没有找到为 scons 中的特定库添加此链接器选项的方法 env A
  • 需要帮助调试缓慢的 scons 运行时

    我正在使用 scons 构建两个项目 一个项目效果很好 而另一个 更复杂 项目则非常令人沮丧 这是我在为第二个项目运行 scons 时看到的内容 S time scons scons Reading SConscript files lt
  • 如何使用 Visual Studio 命令行 + SCons 构建 Windows XP 应用程序?

    使用 Visual Studio 2015 IDE 构建 Windows XP 应用程序一点也不难 您只需要使用正确的平台工具集 v120 xp 或 v140 xp 并确保在目标计算机上安装正确的可再发行 Visual Studio 运行时
  • 如何设置 scons 系统包含路径

    使用 scons 我可以轻松设置我的包含路径 env Append CPPPATH foo 这传递了标志 Ifoo to gcc 不过 我正在尝试在启用大量警告的情况下进行编译 特别是与 env Append CPPFLAGS Werror

随机推荐