【问题标题】:Run build script in Code::Blocks instead of building a target在 Code::Blocks 中运行构建脚本而不是构建目标
【发布时间】:2013-03-11 00:36:51
【问题描述】:

背景:

我最近作为实习生加入了一家软件开发公司,并且正在适应新的构建系统。该软件适用于嵌入式系统,可以说所有构建和编译都是在构建盒上完成的。该构建使用使用 xml 文件的代码生成,然后还使用 make 文件、规范文件和版本文件。

我们在自己的 comps 上开发(linux - mandriva 发行版)并使用以下方法构建:

ssh buildserver
use mount to mount drive on personal computer to the buildserver
set the environment using . ./set_env (may not be exactly that)
cd app_dir/obj (where makefile is)
make spec_clean
make spec_all
make clean
make

问题:

我是 Code::Blocks 和 linux 的新手,想知道如何设置项目文件,以便它可以简单地运行脚本文件来执行这些命令,而不是在我的实际计算机上实际调用构建过程。有点像预构建脚本。我想将此脚本的执行与 Ctrl-F9(构建)配对,并在构建日志窗口中捕获上述命令的任何输出。

换句话说,项目不需要担心构建配置或目标。我什至不需要在我的计算机上安装编译器!我希望对其进行设置,以便拥有 IDE 的全部功能。

感谢任何建议!

【问题讨论】:

    标签: linux build makefile codeblocks


    【解决方案1】:

    将您的脚本放入一个 shell 脚本文件中。例如,

    #!/bin/sh
    mount ... /mnt/path/buildserver
    . ./set_env
    cd app_dir/obj
    make spec_clean
    make spec_all
    make clean
    make
    

    假设您将其命名为 /path/to/my_build_script,然后是 chmod 755 /path/to/my_build_script,并从您的 ssh 客户端计算机调用以下命令:

    script -c ssh buildserver "path/to/my_build_script"
    

    完成后,检查当前目录下的文件typescript

    HTH

    【讨论】:

    • 因此,如果我将脚本文件保存在 Code::Blocks 项目目录中,那么以下行: script -c ssh buildserver "path/to/my_build_script" 我将作为预构建脚本放入 Code ::块?另外,打字稿是什么意思?
    • 是的,当前目录下的文件打字稿是由命令script记录的,该命令捕获了构建过程中上述命令的任何输出
    猜你喜欢
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多