에 OpenMP를 지정 내 코드 (예 :의 #pragma OMP 그 ... 등)의 지시를 사용하지 않고 (예를 들어, omp_get_thread_num을())의 API의 기능을 사용할 때는 GCC
이유를 직접 지정 libgomp.a 대신 작동하지 않습니다 을 -fopenmp 사용 GCC, 에 같은
gcc hello.c /usr/lib/gcc/i686-linux-gnu/4.4/libgomp.a -o hello
는 업데이트 : 난 그냥 libgomp.a에 연결하면 작동하지 않는 것을 발견하지만,에 연결 libgomp.so가 작동합니다. OpenMP가 정적 링크가 될 수 없다는 것을 의미합니까?
-fopenmp에만 작동하는 이유
라이브러리 파일
을 지정 없이
- 그 이유는 컴파일 않습니다 어떤이있는 경우
gcc hello.c -fopenmp -o hello
업데이트 : 즉이 -fopenmp 사용하는 경우, 이유를 명시 적 libgomp.so에 연결이 필요하지 않습니까?
gcc hello.c -L/usr/lib/gcc/i686-linux-gnu/4.4/ -lgomp -o hello
이 코드에서 를 OpenMP 지시자를 무시합니까?
감사합니다.
GCC 문서에서 : -fopenmp 플래그는 또한 OpenMP 런타임 라이브러리의 자동 연결을 조정합니다. 자세한 내용은 http://gcc.gnu.org/onlinedocs/libgomp/Enabling-OpenMP를 참조하십시오.html # Enabling-OpenMP – 465544