Microsoft Incremental Linker перестала работать VS17

Недавно VS17 начал часто выдавать мне сообщение «Инкрементальный линкер перестал работать», я имею в виду ОЧЕНЬ МНОГО. Ничего не обновлял (ОС или VS). Это началось внезапно без видимой причины. В большинстве случаев мне удавалось изменить свой код, чтобы этого не происходило.

Это мой текущий код (он должен выполнять XOR строки и возвращать шестнадцатеричную экранированную строку):

__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;
}

Будет какое-нибудь исправление? Или, может быть, вы знаете, что в моем коде вызвало это? (Да, я удаляю возвращенный символ *. Не то чтобы он имел какое-либо отношение к ошибке компоновщика, но не запугивай меня из-за этого). Или кто-нибудь еще сталкивался с этим в VS17?

Я бы сейчас просто отключил инкрементное связывание.

drescherjm 31.03.2018 16:02

Как? Я честно не знаю как

Itsenough1 31.03.2018 16:02

Это в настройках компоновщика в разделе Общий.

drescherjm 31.03.2018 16:03

Он говорит, что уже выключен, тф?

Itsenough1 31.03.2018 16:05

Этого я не видел ..

drescherjm 31.03.2018 16:05

Что ж, все равно спасибо за попытку

Itsenough1 31.03.2018 16:07

Вы пробовали «чистое» действие, когда оно начинает плохо себя вести?

Killzone Kid 31.03.2018 16:19

Хотел бы я знать, что это значит

Itsenough1 31.03.2018 17:05

Отключите установленный антивирусный продукт и попробуйте еще раз.

Hans Passant 31.03.2018 17:11

@ Itsenough1 В вашем Solution Explorer щелкните правой кнопкой мыши имя вашего проекта и выберите Clean

Killzone Kid 31.03.2018 17:17

@KillzoneKid Спасибо, дружище, это работает. Вы можете дать ответ, если хотите, и я его приму.

Itsenough1 31.03.2018 21:33

@ Itsenough1 Рада, что у вас тоже сработало. Меня это очень расстраивало. Некоторое время не происходило с момента последнего обновления

Killzone Kid 31.03.2018 21:42
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
12
661
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Thanks mate, it works. You can make it an answer if you want and I'll accept it

Похоже, это может быть какая-то ошибка в VS2017. Такая ошибка компоновщика случилась со мной даже с относительно небольшим кодом, и такая простая вещь, как изменение выходного значения std::cout, например, может вызвать ее. Похоже, решение состоит в том, чтобы запустить действие Clean над кодом, который можно найти в

Solution Explorer -> [Щелкните правой кнопкой мыши имя проекта] -> Clean

Другие вопросы по теме