Microsoft Incremental Linker已停止工作VS17

时间:2018-03-31 13:57:10

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

最近VS17开始给我#34;增量连接器已停止工作"很多,我的意思是很多。我没有更新任何东西(OS或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中遇到过这种情况?

1 个答案:

答案 0 :(得分:1)

  

谢谢你的伴侣,它有效。如果你愿意,你可以把它作为一个答案,我会   接受它

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

中找到

Solution Explorer - &gt; [右键单击项目名称] - &gt; Clean

相关问题