Почему я получаю это сообщение в Microsoft Visual C ++ 2010 Express - PullRequest
1 голос
/ 15 июня 2011
#include <iostream>
using namespace std;

int main() {
  bool x = true;
  bool y = false;

  if(x) {
    cout << "if works";
  }   

  if(y==false) {
    cout << "else works";
  }

  int z;
  cin >> z;
}

Это небольшой код, скомпилированный с использованием Microsoft Visual C ++ 2010 Express Edition .При компиляции я получаю сообщение о том, что Ваш проект устарел. Почему я получаю это сообщение?

Если приведенный выше код действительноустарел, буду благодарен за любое предложение?

Ответы [ 2 ]

3 голосов
/ 15 июня 2011

Вы, вероятно, нажали F5.Что: запускать в режиме отладки, НЕ компилировать (по крайней мере, не в терминах C ++ / VS).

Он обнаруживает, что ваш код отличается от кода, используемого для компиляции ваших двоичных файлов.

Если у вас есть этот код:

int main() 
{ 
    cout << "test"; 
    return 0;
}

И вы компилируете, это версия 1 вашего exe.

Затем вы меняете код в

int main() 
{
    cout << "test1";
    cout << "test2";
    return 0;
}

Теперь вы нажали F5, по сути, вы все еще пытаетесь отладить версию 1 вашего exe, так как вы не скомпилировали версию 2 вашего исходного кода в версию 2 вашей сборки.

Вот почему он дает вампредупреждение.Если я правильно помню, вы можете установить флажок в этом всплывающем окне, чтобы всегда перестраивать.(не уверен!)

1 голос
/ 15 июня 2011

Projects are out of date появится диалоговое окно, когда отметка времени входных файлов (исходный код) новее, чем выходные файлы (двоичные файлы).

Это не имеет ничего общего с устаревшим исходным кодом (если вы думаете об этом).

Удалите все папки Debug, перекомпилируйте и запустите проект, и он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...