首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态地将库编译成二进制吗?

静态地将库编译成二进制吗?
EN

Stack Overflow用户
提问于 2016-02-11 20:13:42
回答 1查看 273关注 0票数 0

我试图在一个与一个真正不知名的人战斗项目中链接CMake编译时错误。

该项目使用以下CMake文件构建自己的Lua自转。

代码语言:javascript
复制
set(LUA_SRC
  "lua-5.1/src/lapi.c"
   ...brevity
)

set(LUA_HPP
  "lua-5.1/src/lapi.h"
  ...brevity
)

source_group("" FILES ${LUA_SRC})
source_group("" FILES ${LUA_HPP})

add_library("lua-5.1" ${LUA_SRC} ${LUA_HPP})

set_property(TARGET "lua-5.1" PROPERTY FOLDER "External Libraries")

# include_directories(src)

if(MSVC)
  sm_add_compile_definition("lua-5.1" _CRT_SECURE_NO_WARNINGS)
endif(MSVC)

disable_project_warnings("lua-5.1")

主CMakeLists文件中引用Lua来编译结果二进制文件:

代码语言:javascript
复制
list(APPEND SMDATA_LINK_LIB
  "lua-5.1"
  ...brevity
)
...brevity
target_link_libraries("${SM_EXE_NAME}" ${SMDATA_LINK_LIB})

还有一些其他库,我可以链接到它们(比如libpng、libjpeg等),但是我希望Lua被静态编译成最终的二进制文件,这样它就不会依赖于任何系统Lua了。

如何修改CMakeLists以静态地将Lua库编译为二进制文件?

EN

回答 1

Stack Overflow用户

发布于 2016-02-11 22:54:14

通常,您只需告诉CMake静态编译库:

代码语言:javascript
复制
add_library("lua-5.1" ${LUA_SRC} ${LUA_HPP})

变成了

代码语言:javascript
复制
add_library("lua-5.1" STATIC ${LUA_SRC} ${LUA_HPP})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35349164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档