问题标签 [buildconfiguration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
517 浏览

android - 构建配置和 Android NDK

在过去的几天里,我一直在努力让系统启动并运行以构建我们的 Android NDK 应用程序的多种配置。我能够很好地构建库;我遇到的问题通常源于在更改构建配置时使这些库保持最新。

我需要一个大部分完全自动化的系统:用户只需更改构建配置,一切正常

您如何解决构建配置和库未正确重建的问题?

我尝试了很多不同的方法来解决这个问题,但它们似乎都以我无法控制的问题告终。

最初,我们只是输出了一个具有相同名称的共享对象文件,而不管构建配置如何(例如 game.so)。问题是,更改构建配置不会触发重新构建库;您必须更改源代码或构建脚本。因此,人们从 Debug 更改为 Release,运行应用程序,并且在不知不觉中实际上仍然链接到 Debug 版本。

因此,我们尝试根据构建配置将库输出到唯一的共享对象。例如,调试版本是 gamed.so。发布版本是gamer.so。问题是,Java 代码没有构建配置的概念,那么我们如何知道要加载哪个版本的库(由 Java 完成)?

为了解决这个问题,我们通过尝试加载它们的所有可能版本的库进行 try/catch 循环。当我们找到存在的那个时,加载它!问题是在将新配置部署到手机时不会删除旧版本的库。因此,如果您已经构建并运行了 Debug 和 Release,那么这两个库现在都在手机上!无论您首先要求哪个,它都会找到并加载。

所以无论如何,这似乎必须已经解决了,但我在网上找到的信息很少。没有什么能满足我的需求。

我的问题是:您如何解决构建配置和库未正确重建的问题?

0 投票
2 回答
262 浏览

makefile - 如何将 MonoDevelop 构建配置传递给 Makefile?

MonoDevelop 支持 Makefile 集成。
但是我如何从 Makefile 内部知道当前的构建配置(调试/发布)?

0 投票
1 回答
2492 浏览

.net - 您如何在 Monodevelop 中构建“发布”配置?

创建 Monodevelop 项目时,或打开典型的 Visual Studio 项目时,有 2 种构建配置:“调试”和“发布”。

默认值为“Debug”,从 Build 菜单构建仅运行 Debug 构建。

这应该是一项微不足道的任务,但我看不到构建不同构建配置的选项(在菜单或项目或解决方案设置中,没有彻底删除“调试”配置)。如何构建“发布”配置?

(The "Configuration" dropdowns in the project and solution settings actually act as tabs; they don't change the default.) I searched for "build configuration" in the Monodevelop documentation , but nothing relevant came up.

0 投票
1 回答
163 浏览

delphi - 构建配置实现了哪个版本的 Delphi?

我正在开发一个项目,其中包含用于控制为不同版本的 Delphi 编译什么的条件。我只熟悉版本 7、2010 和 XE2。至少在 Delphi 2010 中,可以在一个项目上创建多个构建配置,每个构建配置都允许您根据当前选择的配置以不同的方式编译应用程序。我只需要知道这些构建配置引入了哪个版本的 Delphi?

0 投票
1 回答
780 浏览

teamcity - Visual Studio 6 和 Teamcity - 如何设置构建配置?

这是我在stackoverflow上提出的第一个问题。我已经研究了一天,以找到解决我问题的任何方法,但无法提供任何帮助。

我必须为一些旧的 Visual Studio 6 C 项目设置构建配置(Teamcity 7.1)。我不熟悉 C/C++ 程序及其环境,并且完全不知道如何为此类项目配置构建步骤。我在 Teamcity 服务器和代理上安装了 cmake 插件,并尝试通过将“制作程序路径”指向 Visual Studion 6 安装中的 nmake.exe 来设置 GNUMake 配置。构建实际上开始了,但由于以下错误而崩溃:

我没有传入任何命令行参数。据我所知,这似乎是 nmake/make 组合的问题,可以通过在 nmake 调用前加上env -u MAKE -u MAKEFLAGS nmake.exe /a /l. 不幸的是,这也不起作用——或者我做错了。

有人有使用 Visual Studio 6 和 Teamcity 的经验吗?有什么建议我可以设置正确的构建步骤吗?

亲切的问候,丹妮拉

0 投票
1 回答
225 浏览

c - 在 C 中使用 const struct 而不是定义来对配置参数进行分组是否有效?

我正在考虑使用全局常量结构来管理某些子系统的配置。这意味着我想使用类似的东西:

然后像往常一样在我的代码中使用它:

我想用这种方法跳过#define's.

我的问题是,考虑到一切都是不变的,编译器是否会意识到这一点并在编译时用它们各自的值替换这些值?

编辑:很抱歉标记了C和 C++,它现在已修复,我的问题仅与C相关。我使用的编译器是带有 ARM Cortex-M4 目标的 GCC。

0 投票
1 回答
816 浏览

visual-studio-2010 - 如何比较 Visual Studio 2010 解决方案的 2 种构建配置?

我在 Visual Studio 2010 中有一个巨大的解决方案(超过 30 个 F# 和 C# 项目)。刚才我遇到了在不同配置中构建解决方案的问题(例如,Release|AnyCPU 和 Debug|AnyCPU)。似乎,这个问题出在目标平台差异上。是否可以提取和比较解决方案的构建配置(如 XML、纯文本)?在配置管理器窗口中并未提供所有信息。

谢谢。

0 投票
1 回答
2293 浏览

iphone - XCode 应用商店构建 - 新目标或配置?

我有一个有 3 个目标的应用程序。或方案。每个目标都有两个配置,dubug 和 release。我正在使用构建脚本在命令行中构建它。

对于临时发布,我使用配置“发布”。但是什么时候构建应用商店呢?最好的方法是什么?为应用商店制定新目标或新配置?

是否可以为应用商店构建进行新配置,从发布中复制值。我在 XCode 4.6 构建设置中找不到该选项。

0 投票
1 回答
180 浏览

c# - .NET 代码的代码优化是否会受到重命名而不是 Release 的影响?

我有一个简单的场景,我继承了构建配置与标准配置的名称非常不同的代码。

特别是,我们的“生产”配置更像我们的发布配置。

所以我想我有几个问题:

  1. 需要打开或关闭什么,以便我可以仔细检查,以使某些东西成为“发布”配置?诸如代码优化、调试符号等之类的东西。
  2. 如果启用了代码优化等,与库存的 Release 配置有什么不同吗?那些可能在 JIT 或编译器级别硬编码的东西?
  3. 除了第 1 项中的内容以及标准版本配置中的内容之外,是否还有其他应该启用/禁用的东西会在配置级别导致明显的性能影响?
0 投票
0 回答
332 浏览

visual-studio-2012 - How do I deploy different files for running Integration Tests on different architectures?

We have multiple test projects that access databases directly. Those tests basically validate our sql queries written in C# code. Unfortunately, they are not separated at the moment and are in the same assemblies that also house true, non-dependent Unit tests (I think those database tests are considered Integration test, correct me if I'm wrong).

Currently, we use 2 testsettings files (sqlserver.testsettings and oracle.testsettings) to deploy a different 'ConnectionStrings.config' file before running the tests. Each of them have connection strings specific to their test databases, that should be created before any tests are run. We do this because we want to test these database methods with both SqlServer and Oracle databases, since some of our clients use SqlServer while others use Oracle.

With this in mind, we have an 'app.config' file on the test projects that contains something along these lines:

I would like to know if there would be another way to do this without using the testsettings file, which is in this case already deprecated in favor of the new format used by 'runsettings' files. I can't find the equivalent custom-file-deployment feature on runsettings specifications though, and considered creating multiple build configurations using XML transformations over the ConnectionStrings.config or app.config files.

The problem with XML transforms is that it is currently not supported for these types of projects, and I had a very hard time with SlowCheetah when going to the build server, and ultimately decided against using it (I had this same configSource scenario on one of our Web Application projects and tried transforming the external config file. I ended up merging the file with the web.config and using the standard msdeploy transformation).

What would you recommend in this case? This must also be runnable on our build server. At the moment, we can specify the same tests to be run with both testsettings files there.

Ideally we would also like that SqlServer tests be the standard for all developers, and Oracle tests would only be selected to run on our build server. This does not work right now, since every developer needs to specifically select the sqlserver.testsettings file prior to running the tests the first time. With the build configuration idea this could be achieved, so I'm leaning towards that at the moment, but I would like to hear a potentially better approach to the problem.

I have a feeling we are doing something very wrong in this whole process (and this includes the ideas presented in this post) and that there should be a much easier and straightforward way of doing it.