【问题标题】:Compiling all code parts in Visual Studio在 Visual Studio 中编译所有代码部分
【发布时间】:2011-01-14 17:39:19
【问题描述】:

我目前正在从事一个独立于平台的项目,我们经常遇到以下问题: 当 Windows 人员处理未被代码库的任何其他部分调用的代码时,它将不会被编译,因此不会触发编译错误。一旦将此代码上传到 svn 服务器,Linux 程序员提取并编译此代码,他们将得到构建错误。似乎他们的编译器编译了代码库中包含的所有内容,而 Visual Studio 只会编译使用过的代码。

是否有任何方法可以强制 Visual Studio 编译即使未使用的代码,只要它属于我目前正在处理的项目?或者只是属于该解决方案的每个代码文件也会有所帮助。

编辑:

忘了提,如果相关的话:

  • 我们正在使用:Visual Studio 2008 教授。编辑。
  • C++
  • cmake 创建解决方案
  • Windows 7 x64

感谢您的宝贵时间!

问候, 一月

【问题讨论】:

  • 我怀疑“编译一切”的区别。唯一可能发挥作用的是模板在实例化之前的分析深度。还是您谈论 linker 错误? VS 可能更擅长消除死代码。请澄清

标签: visual-studio visual-studio-2008 settings compilation


【解决方案1】:

如何使用预处理器定义?我也从事跨平台项目。有些 UNIX 方法我不能使用,有些 Win API 调用 UNIX 不能使用。所以我们有这样的东西:

void DoSomething()
{
    #ifdef WIN
    // do Windows specific code
    #else
    // do UNIX specific code
    #endif
}

【讨论】:

  • 感谢您的回答,但这个问题与代码不跨平台兼容无关。这是关于不会在任何一个平台上编译的代码,但不会在 Visual Studio 中捕获,因为 Visual Studio 不会尝试编译它。结果,我们最终将无法为 Linux 程序员编译的代码上传到 SVN,因为他们的编译器似乎试图编译 Visual Studio 忽略的代码。 -一月-
猜你喜欢
  • 1970-01-01
  • 2016-10-20
  • 1970-01-01
  • 2011-04-12
  • 2019-04-26
  • 1970-01-01
  • 1970-01-01
  • 2012-03-13
  • 1970-01-01
相关资源
最近更新 更多