ICC 11.1 を使用して ia64 マシンで作業しています。次のプログラムはうまくコンパイルされます。
#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)
誰かが私に理由を説明できますか? またはもっと重要なこと: 2 番目のコード例もコンパイルできるように、この問題を回避するにはどうすればよいですか?