ОС: Windows 8 64-битныхошибка компиляции с dirent.h на 64-битных окон
Компилятор: Visual Studio 2012
Описание проблемы: При попытке компиляции кода с "dirent.h" в «64 ", возникает ошибка. Независимо от того, используется dirent.h или нет. Ошибка не будет возникать, если коды были скомпилированы под настройкой «win32».
Ошибка MSG: C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Include \ ит \ 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;
}
Не относится к вопросу: «Отсутствует» в ваших включенных. – cup
Получаете ли вы ту же ошибку в программе приветствия? Если это так, это не связано с dirent.h. Эквивалентом Windows является FindFirstFile, FindNext, FindClose согласно http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418(v=vs.85).aspx – cup