【发布时间】:2009-12-22 07:58:05
【问题描述】:
我正在构建一个跨平台产品,其中一个要求是跨 Windows(win32、AMD64 和 IA61)。该产品是相对简单的 CLI,但我们有一个单独的构建团队,他们从 CVS 中检查代码并在单独的构建环境中构建。我能够在一个平台(AMD 机器)上成功构建(使用 Visual C++ 2005)。但是一旦我签入代码,就会发现构建失败。
构建失败的原因是在属性表中错误地指定了包含库路径。特别是属性页中链接器下的输出文件夹指定错误。因此,这些库构建在与其他项目所期望的不同的文件夹中。
但是,随着源代码,我也每次都签入 .sln 文件(以及后来的 .vcproj 文件)。 Morover,如果我在构建不成功的文件夹中打开 .sln 文件,那么我可以成功构建的文件夹(预检入)没有区别。事实上,使用 windiff 我看不出两个构建文件夹之间有任何区别(除了一些 .ncb 和 cvs 日志文件)。
所以知道发生了什么吗? VC++ 2005 在哪里获取包含目录,如果不是从 .sln 获取输出文件夹路径? CVS 是否以某种方式干扰了该过程?还有什么我可以尝试的。
提前致谢。
【问题讨论】:
-
是的。我也检查了 .vcproj 文件。正如我提到的,Windiff 显示文件夹之间没有区别。
-
只是为了澄清我的基本查询是 VC++ 是否仅将解决方案的属性表数据存储在 .sln 文件中?还是需要其他文件?
-
更新 - 如果我将文件夹复制到另一个地方,构建工作正常。我几乎确信这与 cvs 签入/签出有关。
标签: windows visual-c++ 64-bit cvs solution