c++ - 在 Cmake 中静态链接 Lua

标签 c++ lua cmake

我有一个使用 GLFW、GLEW、GLM 和 Lua 的项目。以前我在我的 Linux 环境中使用 Makefile 链接库,一些是静态的,一些是动态的。

基于此boilerplate project我可以使用 Cmake 编译 GLFW、GLEW 和 GLM 并将其链接到我的项目。但是我在链接 lua 时遇到了问题,以前在 Linux 上只需要“-llua”。

我可以使用 Cmake 构建 lua 并且在构建我的项目时它确实打印出 liblua 已构建但是在它提示缺少 luaconf.h 之后不久。可能是因为它不存在,luaconf.h.in 存在并且 lua CMakeLists.txt 中的以下行似乎生成了 luaconf.h:

configure_file ( src/luaconf.h.in ${CMAKE_CURRENT_BINARY_DIR}/luaconf.h )

处理这个问题最干净的方法是什么?我可以想到一些 hacky 方法,但我想知道 CMake 中是否有可以处理它的东西,或者其他人是否有以这种方式将 lua 与 CMake 链接起来的经验。

这是 my CMakeLists.txt ,我也会发布 lua,但我没有足够的代表。

最佳答案

我终于让它工作了(一些其他的错误阻碍了它)。 上述行将生成的 luaconf.h 文件复制到二进制目录,现在我只是将其复制到源目录:

configure_file ( src/luaconf.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/luaconf.h )

关于c++ - 在 Cmake 中静态链接 Lua,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30142313/

相关文章:

android - Android NDK 项目中的 undefined reference 错误

c++ - QTestLib 是否可以在运行时显示它正在测试的 GUI?

lua - 按特定索引从列表中删除项目

string - LUA 计数字符串中的重复字符

configuration - Lua 域特定配置帮助

cmake - 使用 libssh2 的 libgit2 cmake 问题 :LIBSSH2 not found. 如果安装在默认搜索路径之外,请设置 CMAKE_PREFIX_PATH

c++ - 嵌套 __try...__ except 子句,这是如何工作的?

C++ cin 输入直接存储以通过引用变量传递 - 危险吗?

c++ - MFC 图片控制

c++ - CMake + Qt 翻译系统的正确工作流程