从 TeamCity 构建 VC++ 6 项目。找不到头文件

Posted

技术标签:

【中文标题】从 TeamCity 构建 VC++ 6 项目。找不到头文件【英文标题】:Building VC++ 6 project from TeamCity. Can't find header files 【发布时间】:2013-09-23 14:50:38 【问题描述】:

我有一个 VC++ 项目,并且我有 .dsw 文件。我想通过TeamCity构建项目并获取.dll文件。

在 TeamCity 中,在构建步骤中,我将 Runner 类型指定为命令行并传入以下参数。

Myproject.dsw /MAKE "Myproject - Win32 Release MinSize"

它创建了空的输出​​目录,但我得到了这个错误

fatal error RC1015:  cannot open include file 'afxres.h'

我已检查该文件位于“C:\ProgramFiles\Microsoft Visual Studio\VC98\MFC\Include”。 我不明白为什么它没有从这个位置获取文件。我尝试将此位置添加到环境变量 PATH,但它不起作用。

不过,TeamCity 从“C:\ProgramFiles\Microsoft Visual Studio\VC98\Include”中提取了一些文件。

请帮忙。

【问题讨论】:

需要正确配置构建系统。 %PATH% 环境变量完全不相关。 我知道 %PATH% 变量在这里不相关。但我只是试了一下,希望它会奏效。 资源编译器报错。它使用自己的包含路径,很可能 dsw 仅使用默认路径 如果我没记错的话,“afxres.h”无论如何都不包含 99% 的项目感兴趣的内容。我只会创建文件的空版本。至少尝试一下,看看它会把你带到哪里。谷歌失败了。 使用工具-选项命令,转到目录选项卡并确保“C:\Program Files (x86)\Microsoft Visual Studio\VC98\MFC\INCLUDE”是包含文件的一部分目录列表。 【参考方案1】:

我知道如何解决这个问题。

TeamCity 代理作为 Windows 服务运行。因此,它无法访问用户环境变量,例如%include% 和 %lib%。

我所做的是,我将这两个变量作为环境变量传递给 TeamCity Build。瞧!有用。 :)

【讨论】:

以上是关于从 TeamCity 构建 VC++ 6 项目。找不到头文件的主要内容,如果未能解决你的问题,请参考以下文章

从命令行将 vc++6 项目升级到 vc++ 2008

Teamcity 自动构建配置

使用 TeamCity 构建后如何部署?

如何配置 TeamCity 构建代理以通过 SOCKS 代理使用 git 和 git:// 协议?

VC++ 2010:从 VC6++ 转换后显示打开对话框出错

使用 CORS 从 TeamCity API 获取 JSON