使用TDM-GCC 4.92上math.h中的exp声明simd

使用TDM-GCC 4.92上math.h中的exp声明simd,gcc,openmp,tdm-mingw,Gcc,Openmp,Tdm Mingw,我需要通过调用math.h中的exp函数对循环进行矢量化。但是,使用此 #include <math.h> #include <omp.h> #pragma omp declare simd extern double __cdecl exp(double); 我在Windows7机器上使用TDM-GCC4.9.2 有什么问题?有解决方案吗?您需要将数学库添加到要链接的库列表中: gcc -O3 -fopenmp testSIMD.c -lm 与其他库不同,默认情况

我需要通过调用math.h中的exp函数对循环进行矢量化。但是,使用此

#include <math.h>
#include <omp.h>

#pragma omp declare simd
extern double __cdecl exp(double);
我在Windows7机器上使用TDM-GCC4.9.2


有什么问题?有解决方案吗?

您需要将数学库添加到要链接的库列表中:

gcc -O3 -fopenmp testSIMD.c -lm
与其他库不同,默认情况下不会添加此库

但我认为这对你没有帮助。pragma omp declare simd适用于新的函数声明,而不是现有的库函数。您可能需要编写自己版本的exp.

可能的副本
gcc -O3 -fopenmp testSIMD.c -lm