在Xcode中设置Lua遇到麻烦

如何在 Xcode 中包含 Lua?

我已经按照网站上的说明安装了 Lua(使用 curl、提取、make macosx install 等等)。

我可以引用 Lua:

extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}

但是当我尝试使用它时,报错了(即使是写一个简单的东西):

lua_State *L = luaL_newstate();
lua_close(L);

它告诉我:

Undefined symbols for architecture x86_64:
  "_luaL_newstate", referenced from:
      _main in main.o
  "_lua_close", referenced from:
      _main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

如有建议,请多指教。如果需要更多信息,请告诉我,我可以编辑。谢谢!

编辑: 添加了 -llua 标志(SFML 包括 /usr/local/lib 和 include)。现在出现“忽略文件 /usr/local/lib/liblua.a,文件是为无法链接的架构构建的存档(i386):/usr/local/lib/liblua.a”错误。

编辑2: 我将 Base SDK 更改为 Latest OS X(OS X 10.9),将 Build Active Architecture Only 更改为“Yes”,现在可以编译了。

点赞
用户3125367
用户3125367

在 Xcode 中,在左侧窗格中(所有源代码所在的位置),选择蓝色图标的 < ProjectName >,然后在主窗口下选择一个 Target。在 Build Settings 选项卡中,选择“全部”(而不是“基本”),并设置以下参数:

Other Linker Flags = -llua
Header Search Paths = /usr/local/include
Library Search Paths = /usr/local/lib

假设 Lua 标头已安装在 /usr/local/include 中,而 liblua.a 则在 /usr/local/lib 中。

您也可以使用搜索字段进行查找。

2014-10-02 18:55:45