如何构建一个嵌入Lua的C程序?

我正在尝试构建一个嵌入Lua的简单C程序。在我的iMac上,它可以完美构建。然而,在我的Macbook Pro上,它无法构建。我在/usr/local/include下有一个名为Lua5.2的目录,里面包含lua.hlauxlib.hlualib.h

当我尝试构建该程序时,我会遇到以下链接器错误:

Davids-MacBook-Pro:sol David$ make
gcc sol.o -o sol -llua -lm
ld: library not found for -llua
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sol] Error 1

以下是makefile:

CC = gcc
CF = -c -Wall -I/usr/local/include/lua5.2

all: sol
  sudo mv sol /usr/bin
  rm -Rf *.o

sol: sol.o
  $(CC) sol.o -o sol -llua -lm

sol.o: sol.c
  $(CC) $(CF) sol.c -o sol.o

我将不胜感激任何帮助。谢谢!

点赞
用户487176
用户487176

我也遇到了同样的问题:

cc -Wall -shared -fPIC -o power.so -I/usr/include/lua5.2 -llua hellofunc.c

首先,我安装了 brew 得到的 gcc 并重新建立了连接:

brew install gcc
brew unlink gcc
brew cleanup
brew link gcc

然后,我确保调用的是正确的程序:

/usr/local/Cellar/gcc/5.1.0/bin/gcc-5 -Wall -shared -fPIC -o power.so -I/usr/local/include -llua hellofunc.c

这也解决了同样的错误:library not found for -lgfortran

2016-03-20 09:22:58