我有一个使用 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/