使用 g++ 在 AIX 上编译 pthread.h 东西
Compile pthread.h stuff on AIX using g++
我试着编译这个非常简单的程序:
#include <pthread.h>
int main(){
pthread_yield();
return 0;
}
使用 -pthread 就像 IBM 方面说的那样:
$ g++ -pthread test.cpp -o test
并得到这个错误:
test.cpp: In function 'int main()':
test.cpp:4:15: error: 'pthread_yield' was not declared in this scope
pthread_yield();
我也尝试了很多其他的 falgs,但到目前为止没有任何效果。 pthread.h 在 /usr/includes 中,但 pthread_yield() 需要 _AIX_PTHREADS_D7 定义。
我必须自己定义这个还是通过添加一些标志来完成?
谢谢!
除了定义符号 _AIX_PTHREADS_D7
你还必须使用库 libpthreads_compat
。
g++ -o marscode marscode.cc -D_AIX_PTHREADS_D7 -lpthreads_compat -lpthreads
我试着编译这个非常简单的程序:
#include <pthread.h>
int main(){
pthread_yield();
return 0;
}
使用 -pthread 就像 IBM 方面说的那样:
$ g++ -pthread test.cpp -o test
并得到这个错误:
test.cpp: In function 'int main()':
test.cpp:4:15: error: 'pthread_yield' was not declared in this scope
pthread_yield();
我也尝试了很多其他的 falgs,但到目前为止没有任何效果。 pthread.h 在 /usr/includes 中,但 pthread_yield() 需要 _AIX_PTHREADS_D7 定义。 我必须自己定义这个还是通过添加一些标志来完成?
谢谢!
除了定义符号 _AIX_PTHREADS_D7
你还必须使用库 libpthreads_compat
。
g++ -o marscode marscode.cc -D_AIX_PTHREADS_D7 -lpthreads_compat -lpthreads