在使用cmake来编写CMakeLists.txt时,如果不特别指明,那么cmake是默认动态链接库的,最终生成的二进制文件只能在与本地相同环境下的机器运行,如果想把生成的二进制拷贝到其他机器上执行,那么会因为缺少相应的动态库而无法执行,解决方法要么是为目标机器部署相应环境,要么是静态链接库方式生成二进制文件。
可以在文件中增加这样的设置以进行静态链接:
set(CMAKE_CXX_FLAGS "-static ${CMAKE_CXX_FLAGS}")
Posted impluse
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmake设置默认静态链接库相关的知识,希望对你有一定的参考价值。
在使用cmake来编写CMakeLists.txt时,如果不特别指明,那么cmake是默认动态链接库的,最终生成的二进制文件只能在与本地相同环境下的机器运行,如果想把生成的二进制拷贝到其他机器上执行,那么会因为缺少相应的动态库而无法执行,解决方法要么是为目标机器部署相应环境,要么是静态链接库方式生成二进制文件。
可以在文件中增加这样的设置以进行静态链接:
set(CMAKE_CXX_FLAGS "-static ${CMAKE_CXX_FLAGS}")
以上是关于cmake设置默认静态链接库的主要内容,如果未能解决你的问题,请参考以下文章