Code::Blocks、ld.exe 错误 "Cannot find -lgomp"
Code::Blocks, ld.exe error "Cannot find -lgomp"
我正在尝试学习如何使用 openMP,但在使用 Code::Blocks 时我总是遇到错误。
我按照推荐安装了MinGW版本,编译器设置如下。
设置 -> 编译器 -> 编译器设置 -> 其他选项,添加 -fopenmp.
然后在Linker settings -> Other linker options added -lgomp.
尝试构建程序时,我收到消息
ld.exe||cannot find -lgomp|
ld.exe||cannot find -lgomp|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
我正在使用 GNU GCC 编译器,我正在尝试 运行 的程序如下。
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
int nthreads, tid;
#pragma omp parallel private(nthreads, tid)
{
tid = omp_get_thread_num();
printf("Hello World from thread = %d\n", tid);
if (tid == 0)
{
nthreads = omp_get_num_threads();
printf("Number of threads = %d\n", nthreads);
}
}
}
我尝试了网上发布的许多解决方案,但似乎没有任何效果。我究竟做错了什么?
提前谢谢你。
我不确定 MinGW,但至少对于常规 GCC,它会在您使用 -fopenmp 时自动将 -lgomp 包含到 link 标志中。因此,请尝试不添加 -lgomp。如果这不起作用,另一种选择是添加 -Lpath 其中 path 是 libgomp 库的位置(通常在库中对于编译器本身)。
我正在尝试学习如何使用 openMP,但在使用 Code::Blocks 时我总是遇到错误。
我按照推荐安装了MinGW版本,编译器设置如下。
设置 -> 编译器 -> 编译器设置 -> 其他选项,添加 -fopenmp.
然后在Linker settings -> Other linker options added -lgomp.
尝试构建程序时,我收到消息
ld.exe||cannot find -lgomp|
ld.exe||cannot find -lgomp| ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
我正在使用 GNU GCC 编译器,我正在尝试 运行 的程序如下。
#include <omp.h>
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
int nthreads, tid;
#pragma omp parallel private(nthreads, tid)
{
tid = omp_get_thread_num();
printf("Hello World from thread = %d\n", tid);
if (tid == 0)
{
nthreads = omp_get_num_threads();
printf("Number of threads = %d\n", nthreads);
}
}
}
我尝试了网上发布的许多解决方案,但似乎没有任何效果。我究竟做错了什么? 提前谢谢你。
我不确定 MinGW,但至少对于常规 GCC,它会在您使用 -fopenmp 时自动将 -lgomp 包含到 link 标志中。因此,请尝试不添加 -lgomp。如果这不起作用,另一种选择是添加 -Lpath 其中 path 是 libgomp 库的位置(通常在库中对于编译器本身)。