cmake编译报错 ld attempted static link of dynamic object optinteloneapimpi202151liblibmpifortso如何让他在链接的时候指定使用链接共享库的参数Flags used by the linker during the creation of static libraries during all build types
要在链接时指定使用共享库的参数,可以使用CMake的CMAKE_SHARED_LINKER_FLAGS变量。将以下代码添加到CMakeLists.txt文件中:
set(CMAKE_SHARED_LINKER_FLAGS "<your-linker-flags>")
将<your-linker-flags>替换为您希望传递给链接器的参数。例如,如果您希望链接器使用共享库的参数,可以将-shared添加到<your-linker-flags>中。
如果您只想在特定的构建类型中使用这些参数,可以使用条件语句。例如,以下代码将仅在Release构建类型中使用共享库的参数:
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(CMAKE_SHARED_LINKER_FLAGS "<your-linker-flags>")
endif()
请注意,这些变量只会影响使用CMake构建的目标,而不会直接影响外部命令(例如make或ninja)的链接器参数。如果您使用外部命令构建项目,请确保将所需的链接器参数传递给外部命令。
原文地址: https://www.cveoy.top/t/topic/iBnZ 著作权归作者所有。请勿转载和采集!