【问题标题】:Why can't I embed lua in an x64 project?为什么我不能在 x64 项目中嵌入 lua?
【发布时间】:2021-06-02 20:14:05
【问题描述】:

我正在使用 C++ 中的 OpenCV 和 Lua 制作一个项目。 OpenCV 需要 x64,当我嵌入 lua 时,它开始给我链接器错误(例如:Error LNK2019 unresolved external symbol lua_tostring referenced in function "blah blah")。当我切换回 x86 OpenCV 开始抱怨时,我没有收到任何与链接器或 lua 相关的错误。我真的想在一个项目中同时使用它们,有什么解决方案吗?

注意:我已经在许多其他项目中嵌入了 lua,并且我没有遇到任何链接器错误问题,我很确定我做的一切都是正确的。

【问题讨论】:

  • 请提供以下信息:您的工具链、平台、构建脚本/流程。仅仅写它是行不通的,它应该,并没有真正的帮助。

标签: c++ lua architecture linker-errors


【解决方案1】:

lua 头文件不检查 c++ 翻译单元。

在你的 lua 周围添加 extern "C" { } 包括:

extern "C" {
#include <lua.h>
}

或者使用 lua.hpp 代替 lua.h。

【讨论】:

  • 我知道,在问这个问题之前也尝试过,仍然是同样的错误......我猜这都是关于架构的。
猜你喜欢
  • 2013-09-24
  • 2015-11-28
  • 2022-06-17
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 2013-07-08
  • 2018-12-07
  • 2010-10-04
相关资源
最近更新 更多