Когда я запускаю свою программу, она говорит, что мой проект устарел "Имя моего проекта - Отладка Win32" и спрашивает, хочу ли я его создать. Я получаю ошибку в заголовке. Я не мог понять, в чем проблема, глядя на другие примеры с этими ошибками, потому что это показывает, что строка ошибки находится в заголовочном файле, который я включил.
Мой код:
#include "windows.h"
#include "iostream"
#include "stdafx.h"
#include "processthreadsapi.h"
#include "WinBase.h"
#include <array>
#using <System.dll>
using namespace std;
using namespace System;
using namespace System::Diagnostics;
int main()
{
int pid = Process::GetProcessesByName("Assault Cube")[0]->Id;
HANDLE ACHandle = OpenProcess(PROCESS_ALL_ACCESS, false, pid);
if (ACHandle != 0)
{
cout << "Process found";
}
else
{
cout << "Process wasnt found";
}
return 0;
}
И строка в winnt.h
, которая вызывает ошибку:
#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif !defined(RC_INVOKED)
#error "No Target Architecture" //Here I get the error
#endif
#include "stdafx.h"
вверх, чтобы включить windows.h и должно произойти волшебство. Вернемся с дубликатом через минуту или две. - person user4581301   schedule 14.08.2018#include "windows.h"
вstdafh.h
. не нужен#include "WinBase.h"
(он автоматически включается через windows.h`) - person RbMm   schedule 14.08.2018#include "stdafx.h"
- person Celmos   schedule 14.08.2018#include "stdafx.h"
. Обнаружение#include "stdafx.h"
внутри stdafx.h необычно. Вреда не должно причинить, но я бы убрал. - person user4581301   schedule 14.08.2018#include "stdafx.h"
вstdafx.cpp
- я спрашиваю, что вstdafx.h
- не думаю, что в рекурсивном включении себя. в любом случае переместите стандартные заголовки Windows (например,#include <windows.h>
) вstdafx.h
- иначе просто нет смысла в предварительно скомпилированных заголовках - person RbMm   schedule 14.08.2018stdafx.cpp
. Вstdafx.h
есть три включения #include targetver.h, #include ‹stdio.h› и #include ‹tchar.h› - person Celmos   schedule 14.08.2018