gpt4 book ai didi

c++ - 仅在添加第二个项目后才用一个项目编译错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:46:50 25 4
gpt4 key购买 nike

我在 VS2012 中有一个编译良好的解决方案。我想为它写一些单元测试并找到 WinUnit .

为方便起见,我将 WinUnit 测试项目拉到了我的解决方案中。

我剥离了他们的示例文件,并开始引用我的 Google's diff_match_patch 拷贝我想测试。

将 .h 文件添加到我的项目并编译后,我在 diff_match_patch 文件中收到 3 个错误。在我添加新项目之前,这个文件编译得很好。

Error 3 error C2059: syntax error : '(' ...\diff_match_patch.h 103 1 TestSampleLib

Error 4 error C2143: syntax error : missing ';' before '}' ...\diff_match_patch.h 104 1 TestSampleLib

Error 5 error C2238: unexpected token(s) preceding ';' ...\diff_match_patch.h 104 1 TestSampleLib

所有错误都围绕这段代码:

enum Operation {
DELETE, INSERT, EQUAL
};

我认为这可能是我遗漏的一些引用,但我已经添加了我能想到的所有内容,但它仍然无法编译。

这些是我遇到的唯一错误,所以我无法找出根本原因。

是什么导致这个原本可编译的文件失败?

最佳答案

看来是宏名污染。您可以尝试在枚举定义之前 #undef 所有名称,看看会发生什么。

关于c++ - 仅在添加第二个项目后才用一个项目编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21013373/

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