OpenMP 编译移植
分类:Microblaze
Openmp
libgomp
OpenMP介绍
OpenMP (Open Multi-Processing)是一套支持跨平台共享内存方式的多线程并发的编程API,是使用C、C++和Fortran进行并发编程的一种强大方法。
目前,主流的C/C++编译器,比如GNU gcc ,Visual C++,甚至部分嵌入式编译工具链(如Riscv)都支持OpenMP,OpenMP已经作为了编译器的自带库。
在程序中需要#include <omp.h>
。
gcc编译的时候需要使用编译选项-fopenmp
。
遇到的问题
但是,在一些嵌入式环境中,比如,MicroBlazeel中,并不支持OpenMP。这是就需要对libgomp
进行交叉编译了。
下面就是我用microblazeel-xilinx-linux-gnu-gcc
使用编译选项-fopenmp
来编译程序出现的错误:
microblazeel-xilinx-linux-gnu-gcc: error: libgomp.spec: No such file or directory