c++ - Netbeans C++ : Execute a source script before building

标签 c++ netbeans makefile environment-variables development-environment

我想在 Netbeans 环境 (v8.2) 中运行 Makefile 之前先source/opt/something/somescript.com。似乎只有 Ant 和 Java 有关于此的答案,而通用 C++ 没有。

在 Netbeans 中只有 2 个文件可以玩:

  1. Makefile,即 useless为此目的
  2. configurations.xml 文件,这可能是执行此操作的方法。

但是,查看那个配置文件,似乎没有关于运行脚本的任何内容,而且我在网上找不到任何手册来解释哪些 XML 标签可用。

所以我的问题是:如何配置 Netbeans 在构建之前source shell 脚本?

最佳答案

(假设 GNU Make)

  • 您提供的链接证明 Makefile 将毫无用处,实际上至少包含一个将脚本“采购”到您的构建中的方法:调用 shell(使用 shell 内置)到:

    • 源你的脚本(可能将所有输出重定向到 /dev/null)
    • 调用 env 并修改输出以发出 VAR:=VALUE 并为每个变量export VAR
    • (可选)将结果写入文件

    然后,如果结果进入一个文件——include那个文件;否则只是 eval shell 的输出。

  • 另一种可能性是调整神奇的 SHELL 变量以在运行 Make 想要它运行的任何内容之前获取您的脚本。如果您的脚本很重,这可能会变得很明显,但如果它只是设置一些环境变量,则可能没问题(我对 Netbeans 一无所知,所以不能说)。

这是第一种方法的示例配方(实际上不要将所有内容缩进 4 个空格,这只是我在 StackOverflow 上苦苦挣扎):

    # Somewhere at the beginning of the Makefile
    define emit-sourced-env
      $(shell . $1 > /dev/null && env | sed -e 's/=/:=/' -e 's/^/export /' > $(notdir $1).mk)
    endef
    $(call emit-sourced-env,/opt/something/somescript.com)
    include somescript.com.mk

关于c++ - Netbeans C++ : Execute a source script before building,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41870853/

相关文章:

c++ - 线程安全队列

java - 安卓工作室;未找到 jni.h

java - 在 Netbeans 中从 ant 迁移到 maven

linux - Linux(Ubuntu 16.04)中的SVN(源码)安装目录

c - Makefile中的Clean命令无法正常使用

c++ - 与数组的虚拟串联

c++ - GetLastInputInfo 在 Node 插件中失败

java - 如何使用自动生成的netbeans JFrame 表单?

Netbeans 中的 C++ : many senseless "unexpected token" hints

c - 使用 makefile,LD_PRELOAD 到可执行文件