Andy M
Andy M

Reputation: 606

Trouble setting up Lua in Xcode

How can I include Lua in my project in Xcode?

I have installed Lua via the instructions on the website (curl, extract, make macosx install, etc).

I can reference lua

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

But when I go to use it, I get an error (even writing something as simple as the following)

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

It tells me :

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)

Any advice would be much appreciated. If you need further information, let me know and I can edit it in. Thanks!

EDIT: Added the -llua flag (SFML included the /usr/local/lib and include). Now getting "ignoring file /usr/local/lib/liblua.a, file was built for archive which is not the architecture being linked (i386): /usr/local/lib/liblua.a"

EDIT2: I changed Base SDK to Latest OS X (OS X 10.9) and Build Active Architecture Only to "Yes" and now it will compile.

Upvotes: 2

Views: 1019

Answers (1)

user3125367
user3125367

Reputation: 3000

In Xcode, select < ProjectName > with blue icon on top of the left pane (where all the sources are), then in main window select a target under Targets. In Build Settings tab, select All instead of Basic and set following parameters:

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

Assuming Lua headers were installed in /usr/local/include, and liblua.a in /usr/local/lib.

You may also use search field to find them.

Upvotes: 2

Related Questions