获得;collect2:错误:ld返回1退出状态“;
我在尝试运行几乎所有代码时都会看到此错误消息 不知道为什么获得;collect2:错误:ld返回1退出状态“;,c,multithreading,parallel-processing,openmp,C,Multithreading,Parallel Processing,Openmp,我在尝试运行几乎所有代码时都会看到此错误消息 不知道为什么 collect2: error: ld returned 1 exit status 例如,当我运行这个简单的代码时 #include <stdio.h> #include <omp.h> int main() { printf ("Hello, world:"); #pragma omp parallel printf (" %d", o
collect2: error: ld returned 1 exit status
例如,当我运行这个简单的代码时
#include <stdio.h>
#include <omp.h>
int main() {
printf ("Hello, world:");
#pragma omp parallel
printf (" %d", omp_get_thread_num ());
printf ("\n");
return 0;
}
#包括
#包括
int main(){
printf(“你好,世界:”);
#pragma-omp并行
printf(“%d”,omp_get_thread_num());
printf(“\n”);
返回0;
}
尝试了其他简单代码,但没有任何效果您需要使用标记
-fopenmp
编译代码。例如:
gcc -fopenmp -O3 -w -Wall -pedantic main.c
从中可以看出:
启用OpenMP
要激活C/C++和Fortran的OpenMP扩展
编译时标志-必须指定fopenmp。这将启用OpenMP
指令#在C/C++和中使用pragma omp$自由形式的omp指令,
c$omp、*$omp和$固定格式的omp指令,!$有条件的
以自由形式和c$、*$和!$编译哨兵哨兵
Fortran的固定格式。该标志还安排自动链接
OpenMP运行时库(运行时库例程)的