LIBS 环境变量的语法是什么?
What's the syntax for LIBS environment variable?
mpicxx
有一个 LIBS
环境变量。但是手册页只说
Libraries added when invoking the linker
我想知道这个变量的详细语法,例如,我们应该在目录前加上前缀-L
,我们应该只写目录名还是lib文件名,我们是否应该用[=19分隔多个库=] 或逗号或其他东西,等等?我尝试 google 语法,但找不到有关它的信息。所以我在这里问。感谢您的帮助。
I wish to know detailed syntax for this variable
MPI 编译器包装器识别的 LIBS
变量并不特定于那些程序,并且它没有自己的语法。该变量只是扩展(未加引号)以构成 link 命令行的一部分,位于参数中适合指定要包含在 link 中的库的位置。通用语法是shell命令语法的子集,内容的具体意义由linker.
决定
请注意,就其重要性而言,“linker”可能不是直接 ld
,而是(对于 mpicxx
)一个 C++ 编译器前端比如g++
。您以与 link 使用非 MPI C++ 编译器编译程序时相同的形式指定库和库搜索路径条目。
should we prefix -L before directory
如果您想将目录添加到库搜索路径,可以,您可以使用 -L
选项。
should we just write [...] the lib filename
最常规的是使用 -l
选项,因此对于 link libfoo.so
,您将使用 -lfoo
。或者,您还应该能够指定库文件的相对或绝对路径(没有 -l
),在这种情况下,搜索路径是无关紧要的。通过特定路径指定库通常仅用于作为同一项目的一部分构建的库。
should we separate multiple libraries by space or comma or something else
您正在指定扩展为 shell 命令一部分的选项和参数。多个参数必须用空格分隔。
etc.
如前所述,所有细节均来自变量的使用方式。一些可用功能(但通常不是上面描述的任何内容)可能因系统而异,具体取决于底层 linker.
识别的选项。
mpicxx
有一个 LIBS
环境变量。但是手册页只说
Libraries added when invoking the linker
我想知道这个变量的详细语法,例如,我们应该在目录前加上前缀-L
,我们应该只写目录名还是lib文件名,我们是否应该用[=19分隔多个库=] 或逗号或其他东西,等等?我尝试 google 语法,但找不到有关它的信息。所以我在这里问。感谢您的帮助。
I wish to know detailed syntax for this variable
MPI 编译器包装器识别的 LIBS
变量并不特定于那些程序,并且它没有自己的语法。该变量只是扩展(未加引号)以构成 link 命令行的一部分,位于参数中适合指定要包含在 link 中的库的位置。通用语法是shell命令语法的子集,内容的具体意义由linker.
请注意,就其重要性而言,“linker”可能不是直接 ld
,而是(对于 mpicxx
)一个 C++ 编译器前端比如g++
。您以与 link 使用非 MPI C++ 编译器编译程序时相同的形式指定库和库搜索路径条目。
should we prefix -L before directory
如果您想将目录添加到库搜索路径,可以,您可以使用 -L
选项。
should we just write [...] the lib filename
最常规的是使用 -l
选项,因此对于 link libfoo.so
,您将使用 -lfoo
。或者,您还应该能够指定库文件的相对或绝对路径(没有 -l
),在这种情况下,搜索路径是无关紧要的。通过特定路径指定库通常仅用于作为同一项目的一部分构建的库。
should we separate multiple libraries by space or comma or something else
您正在指定扩展为 shell 命令一部分的选项和参数。多个参数必须用空格分隔。
etc.
如前所述,所有细节均来自变量的使用方式。一些可用功能(但通常不是上面描述的任何内容)可能因系统而异,具体取决于底层 linker.
识别的选项。