当我想在我的机器上使用 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/