gpt4 book ai didi

c++ - Visual Studio 2005 在编译期间忽略预处理器指令

转载 作者:行者123 更新时间:2023-11-30 01:32:59 25 4
gpt4 key购买 nike

我们刚有一位新开发人员,我正在尝试为他安装 Dev Studio 2005(我们在这个办公室都使用的版本),但我们遇到了一个我以前从未见过的奇怪问题。

我有一些代码可以在我的系统上完美运行,但他似乎无法编译。我们已将问题追溯到他的 dev studio 拷贝忽略了预处理器指令。

例如,在 C/C++|Preprocessor|Preprocessor Directives 下的项目属性中,我添加了 DEFINE_ME。这应该为编译器转换为/D"DEFINE_ME"。它在我的开发环境中有效,但在他的开发环境中无效。

我验证了当他从源存储库中 check out 代码时,他拥有与我相同版本的代码。如果我查看他的项目属性,所有指令都在那里。出于某种原因,它们只是没有传递给编译器。

有什么想法吗?

最佳答案

我最近遇到了与 VS2005 相同的症状。最终,我能够通过命令行 - 附加选项对话框显式添加我的预处理器定义来解决它:

Configuration Properties -> C/C++ -> Command Line

当我在其中添加 '/DPROPERTY' 时,它在编译时被识别,而在 'Preprocessor -> Preprocessor Definitions' 下添加它什么也没做。奇怪的是,命令行对话框确实显示 Visual Studio 正在将属性添加到命令行,尽管是以 '/D "PROPERTY"' 的形式。

不幸的是,日程压力就是这样,我无法深入研究这个问题以弄清楚潜在的问题是什么,也不知道为什么它似乎对我们的一些项目来说是开箱即用的,但不是其他的。尽管如此,如果您有此症状,上述解决方法还是值得一试。

此外,应归功于功劳:这个想法来自 this thread .

关于c++ - Visual Studio 2005 在编译期间忽略预处理器指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/640476/

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