ошибка компиляции с dirent.h на 64-битных окнах

ОС: Windows 8 64-битная

Компилятор: Visual Studio 2012

Описание проблемы: Когда я пытаюсь скомпилировать коды с «dirent.h» в «x64», происходит ошибка. Независимо от того, используется dirent.h или нет. Ошибка не возникнет, если коды были скомпилированы с настройкой «win32».

Ошибка MSG: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Include \ um \ winnt.h (146): фатальная ошибка C1189: #error: «Нет целевой архитектуры»

ПРИМЕР:

#include stdio.h
#include sys/types.h
#include dirent.h

int main(int argc, char* argv[])
{

const char *name = ".";
DIR *dirp;
struct dirent *dp;

dirp = opendir(name);
if (dirp != NULL) {
printf("opendir %s succeed!\n", name);
}
closedir(dirp);
return 0;
}

0

Решение

У меня была такая же проблема … Попробуйте перейти PROJECT-> PROPERTIES -> Configuration Properties -> C / C ++ -> Preprocessor, а в Preprecessor Definitions добавить AMD64. Меня устраивает. PS ставлю подчеркивание до и после AMD64.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]