我正在尝试构建一个嵌入Lua的简单C程序。在我的iMac上,它可以完美构建。但是,在我的Macbook Pro上将无法构建。我在Lua5.2
中有一个名为/usr/local/include
的目录,其中包含lua.h
,lauxlib.h
和lualib.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
我将不胜感激。谢谢!
最佳答案
我也有同样的问题:
cc-墙-共享-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
这也解决了以下相同错误:-lgfortran找不到库
关于c - 我如何构建嵌入Lua的C程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33828640/