Linux 对arm的dlopen-buildinf的未定义引用

Linux 对arm的dlopen-buildinf的未定义引用,linux,build,arm,undefined,Linux,Build,Arm,Undefined,我安装了Sourcery for Windows,准备了makefile,但出现了以下错误: undefined reference to dlopen 添加“-ldl”修复了该问题。我还想在Ubuntu上构建相同的应用程序-相同的makefile但不同的编译器-设置为“arm-linux-gnueabi-g++-4.6”。我也犯了同样的错误。 也许在Ubuntu上我用的是x86而不是arm库。因此,我删除了“-ldl”参数并添加: /usr/arm-linux-gnueabi/lib/lib

我安装了Sourcery for Windows,准备了makefile,但出现了以下错误:

undefined reference to dlopen
添加“-ldl”修复了该问题。我还想在Ubuntu上构建相同的应用程序-相同的makefile但不同的编译器-设置为“arm-linux-gnueabi-g++-4.6”。我也犯了同样的错误。 也许在Ubuntu上我用的是x86而不是arm库。因此,我删除了“-ldl”参数并添加:

/usr/arm-linux-gnueabi/lib/libdl.a
在来源之后——仍然是同样的问题。所以我可能还需要添加。所以文件:

/usr/arm-linux-gnueabi/lib/libdl.so
这没用。有什么想法吗?也许我应该使用不同的lib

使文件看起来像:

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

您是否尝试过
-L/usr/arm-linux-gnueabi/lib/-ldl
?此外,GNU链接器可能对参数顺序很敏感,请尝试交换一些参数(如主对象和库)。