Yur*_*kee 4 linux multithreading openmp opensuse libgomp
我一直在尝试使用gcc --version 4.9.4编译一个使用OpenMP的程序
Run Code Online (Sandbox Code Playgroud)> g++ -std=c++11 -o a.exe -fopenmp ./file.cpp > ./a.exe./a.exe:/usr/lib64/libgomp.so.1:找不到版本"GOMP_4.0"(./a.exe要求)
我有一个名为"/usr/lib64/libgomp.so.1"的文件,我该如何解决?
由于您有多个GCC编译器安装(4.3和4.9),因此您可能因为使用GCC 4.9(支持OpenMP 4.0)进行编译而出现问题,但在运行时OS加载程序使用GCC 4.3库(不支持OpenMP) 4.0).
有一些替代方法可以避免此问题:
-static在链接时使用静态编译二进制文件.使O/S搜索适当的库而不是旧库.您可以使用该命令
find / name -name libgomp.so.1
Run Code Online (Sandbox Code Playgroud)
列出系统中可用的libgomp库,然后将存储它的目录添加到LD_LIBRARY_PATH环境变量中.
-Wl,-rpath -Wl,<dir>/lib(或者lib64而不是lib,如果适用的话)where <dir>指向第2点的目录.| 归档时间: |
|
| 查看次数: |
8567 次 |
| 最近记录: |