gcc - 如何以编程方式找到 OpenMP 共享库的路径?

标签 gcc openmp

当我想在我的机器上使用 OpenMP 时,我用

编译了一个 C 程序
gcc -fopenmp

并包含

-lgomp

作为链接器标志。但是,为了真正找到 OpenMP .so 文件,我还需要包含 libgomp.so 的路径:

-L/usr/lib/gcc/x86_64-linux-gnu/4.6.3/

显然,这很脆弱,不能跨机器工作。有什么方法可以查询 gcc 以找出它把 libgomp.so 放在哪里?

最佳答案

libgomp.so 是 GCC 支持基础结构的一部分,不打算用作单独的库。 -fopenmp 是您需要在命令行上指定的所有内容,以便打开 OpenMP 支持并自动链接库。只需使用 gcc -fopenmp -o executable file1.o file2.o ... 而不是 ld 来链接您的可执行文件。

关于gcc - 如何以编程方式找到 OpenMP 共享库的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884603/

相关文章:

c++ - 将 openmp 与 odeint 和自适应步长一起使用

函数可以在主应用程序中独立运行吗? [OpenMP]

c - 通过控制台设置线程数时Openmp段错误

c - 如何为不同的目的/架构包含/删除 C 代码功能?

用优化编译得到一个错误的条件

c - 为什么 gcc99 指向无意义的错误而标准 gcc 没有?

c - 使用通过 MacPorts 安装的 GD2 库通过 GCC 编译 C 程序的问题

linux - 为什么我无法在 ubuntu 上运行基于 alpine 构建的 C 程序?

c++ - CMAKE_CXX_FLAGS 中的重复编译标志

c++ - 矩阵乘法、KIJ 顺序、并行版本比非并行版本慢