本当に古いソースコード(Red Hatでコンパイルされています)で作業しています。 lua-4.0.1がリリースされる前は、最新のlua(lua-5.1.4)をコンパイルして、古いものと同じディレクトリにインストールしました。実装はそれほど大きくないので、いくつかの関数名を除いて変更する必要はあまりなく、コンパイルするためには "lauxlib.h"をインクルードする必要がありました。これは問題なくコンパイルされますが、これらのリンクエラーが発生します。lua 4.0.1から5.1.4へのアップグレード時にリンクエラーが発生する
/usr/local/lib/liblua.a(loadlib.o): In function `ll_load':
loadlib.o(.text+0x19): undefined reference to `dlopen'
loadlib.o(.text+0x2a): undefined reference to `dlerror'
/usr/local/lib/liblua.a(loadlib.o): In function `ll_sym':
loadlib.o(.text+0x52): undefined reference to `dlsym'
loadlib.o(.text+0x63): undefined reference to `dlerror'
/usr/local/lib/liblua.a(loadlib.o): In function `ll_unloadlib':
loadlib.o(.text+0x8): undefined reference to `dlclose'
基本的にすべてのパスは正しいですが、私は古いものと同じフラグをコンパイラに使用します。私はmakefileを全く変更しません。
-static -lpthread -lnsl -lutil -ldl -lmysqlclient -llua -llualib -lz -lcppunit
ldlフラグはすでに存在します。
私は試してみることを知りたいだけです。すべてが評価されます。これは私を狂ってしまう。