【问题标题】:Microsoft Incremental Linker has stopped working VS17Microsoft 增量链接器已停止工作 VS17
【发布时间】:2018-03-31 13:57:10
【问题描述】:

最近 VS17 开始给我很多“增量链接器已停止工作”,我的意思是很多。我没有更新任何东西(操作系统或 VS)。它突然开始,没有明显的原因。大多数时候,我设法更改了我的代码,所以它不会发生。

这是我当前的代码(它应该异或一个字符串并返回十六进制转义字符串):

__inline char* EncryptString(const char* String, const char* Key)
{
    char* szEncrypted = new char[lstrlenA(String) + 1];
    memcpy(szEncrypted, String, lstrlenA(String));

    for (int32_t i = 0; i < lstrlenA(String); ++i)
        szEncrypted[i] = String[i] ^ Key[i % (sizeof(Key) / sizeof(char))];

    std::stringstream lpStream;

    for (int32_t i = 0; i < lstrlenA(szEncrypted); ++i)
    {
        char cCharInd       = szEncrypted[i];
        int32_t nCharNum    = static_cast<int32_t>(cCharInd);

        lpStream << "\\x" << 2;
    }

    std::string sHexEscaped = lpStream.str();
    lpStream.clear();

    delete[] szEncrypted;

    char* szReturn = new char[sHexEscaped.length() + 1];
    memcpy(szReturn, sHexEscaped.c_str(), sHexEscaped.length() + 1);

    return szReturn;
}

有什么修补程序来了吗?或者,也许您知道我的代码中的原因是什么? (是的,我正在删除返回的 char*。并不是说它与链接器错误有关,但不要因此而欺负我)。 或者还有其他人在 VS17 中遇到过这种情况吗?

【问题讨论】:

  • 我现在只禁用增量链接。
  • 怎么样?老实说,我不知道如何
  • 它在 General 部分的链接器设置中。
  • 我没见过..
  • @Itsenough1 很高兴它也对你有用。我对此感到非常沮丧。自从上次更新以来,已经有一段时间没有发生了

标签: c++ visual-studio linker linker-errors


【解决方案1】:

谢谢老哥,可以了。如果你愿意,你可以让它成为一个答案,我会 接受它

看来这可能是 VS2017 中的某种错误。即使代码相对较小,这种链接器错误也会发生在我身上,例如更改std::cout 的输出值这样简单的事情就会触发它。解决方案似乎是对代码运行Clean 操作,可以在

Solution Explorer -> [右键项目名称] -> Clean

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多