Я работаю на ia64-машине, используя ICC 11.1. Следующая программа прекрасно компилируется:
#include <pthread.h>
#include <iostream>
using namespace std;
int main()
{
cout << PTHREAD_STACK_MIN << '\n';
return 0;
}
Когда я компилирую это с icc test.cpp -o test
НО, когда я изменяю содержимое файла на:
#include <pthread.h>
#include <stdio.h>
int main()
{
printf("%d\n", PTHREAD_STACK_MIN);
return 0;
}
Я вдруг получаю:
icc -c test.cpp -o test.o test.cpp (6):
ошибка: идентификатор "PTHREAD_STACK_MIN"
не определено
printf ("% d \ n", PTHREAD_STACK_MIN);
^
сборка прервана для test.cpp (код
2)
Может кто-нибудь объяснить мне, почему? Или, что более важно: как я могу обойти эту проблему, чтобы второй пример кода также компилировался?