【发布时间】:2016-04-30 18:50:09
【问题描述】:
请帮助我了解 luajit 的构建过程。
如果我想编译一个 c 库,我使用以下代码:
gcc -shared -fpic -O -I/path-to-luajit-headers/luajit-2.1 mylib.c -o mylib.so
是否需要像这样使用更具体的参数:
gcc -shared -fpic -O -I/path-to-luajit-headers/luajit-2.1 -L/path-to-luajit/lib mylib.c -o mylib.so -lluajit-2.1
在第二种情况下,.so 文件比第一种大两倍。有什么不同?使用-lluajit-2.1等重要吗?可能有更多的参数来定义luajit模式而不是纯lua构建模式?
【问题讨论】:
-
你真的在 mylib.c 中使用了 Lua(JIT) 中的任何东西吗?如果你这样做了,那么第一行应该会因为几个未定义的引用错误而失败,因为链接器应该无法找到 Lua(JIT) 符号。
-
@ColonelThirtyTwo ,使用这两个命令编译库。
标签: lua compilation luajit