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

标签 c gcc lua

我正在尝试构建一个嵌入 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

这是生成文件:

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 -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

这也解决了相同的错误:找不到 -lgfortran 库

关于c - 如何构建一个嵌入 Lua 的 C 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828640/

相关文章:

c - GDB 检查内存权限

c - :( rejects "" minutes timed out while waiting for input to be rejected"shows when checking my proggram

linux - 编译 GCC 并安装到 DESTDIR

string - 将整数值转换为字符串

string - Lua字符串操作模式匹配替代 “|”

c++ - 如何在运行时更改格式说明符的值?

c++ - 使用winapi生成http代理ntlm消息

c - Linux 上的 vsnwprintf 替代方案

c++ - 枚举导致二进制更改与 Gcc 4.2.4 中的优化

testing - 有没有办法测试 roblox 游戏?