2

Sourcery for Windows をインストールし、makefile を準備したところ、次のようなエラーが発生しました。

undefined reference to dlopen

「-ldl」を追加すると問題が解決しました。また、Ubuntu で同じアプリをビルドしたいと考えています。同じメイクファイルですが、コンパイラは異なります。「arm-linux-gnueabi-g++-4.6」に設定します。同じエラーが発生しました。おそらくUbuntuでは、arm libの代わりにx86を使用しています。そこで、「-ldl」パラメーターを削除して追加しました。

/usr/arm-linux-gnueabi/lib/libdl.a

ソースの後 - それでも同じ問題。したがって、.so ファイルも追加する必要があるかもしれません。

/usr/arm-linux-gnueabi/lib/libdl.so

役に立ちませんでした。何か案は?多分私は別のlibを使うべきですか?

Make ファイルは次のようになります。

CXX       = arm-linux-gnueabi-g++-4.6
SOURCES   = file.cpp
LIB       = ##
SOLIB     = ##

CFLAGS    = ##
LFLAGS    = -lrt
#-ldl #commented to add the paths manually

SOFLAGS   = ##

test:   $(SOURCES)
$(CXX) $(CFLAGS) $(SOURCES) $(LFLAGS) /usr/arm-linux-gnueabi/lib/libdl.a /usr/arm-linux-gnueabi/lib/libdl.so $(SOFLAGS) -o test
4

0 に答える 0