gpt4 book ai didi

windows - 尝试在 32 位 Windows 上运行 64 位测试

转载 作者:可可西里 更新时间:2023-11-01 10:40:45 27 4
gpt4 key购买 nike

我们将单元测试作为构建中的构建后步骤运行。现在我在自动构建 svn 中自动提取和构建每个修订版的自动构建机器上遇到了这个问题。

自动构建脚本会下载一个修订版,进行一些设置,然后在其上调用 devenv.exe/build。反过来,这将构建所有内容,然后尝试运行测试。构建卡住,永远无法完成。

如果您手动构建解决方案,在运行测试点会出现一个弹出对话框,提示测试可执行文件不是有效的 Win32 应用程序。我假设 autobuilds 也以某种方式获得了这个框,但隐藏在某处的非交互式 session 中。

到目前为止,我有两个解决方案的想法:

  1. checkin 尝试运行测试并检测故障的测试运行器应用程序。这是不可取的,因为这将意味着创建这种额外的代码组合并将其添加到仅在 Windows 构建等上使用。

  2. 在构建脚本(我们正在运行 cmake)中以某种方式测试 Windows 是 32 位还是 64 位,如果测试不起作用,就不要运行测试。这是可取的,但需要一种方法来检查 Windows 是 32 位还是 64 位,最好不必检查另一个“test-windows-type”帮助工具。

如有任何关于如何实现建议 2 的进一步想法或提示,我们将不胜感激。

更新: 此处注意:这是在 32 位机器上运行的交叉编译,但编译的是 64 位 exe。如果我可以检查编译器的属性,就不会有问题。但我关注的是构建机器的属性,而不是构建本身的属性,它显然是 64 位的。

最佳答案

检查 %PROCESSOR_ARCHITECTURE% 环境变量:

  • x86 在 32 位机器上。
  • AMD64 在 64 位机器上(参见 here )。

关于windows - 尝试在 32 位 Windows 上运行 64 位测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1389032/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com