2

我为 Windows 安装了 Sourcery,准备了 makefile,但出现了一些错误,例如:

undefined reference to dlopen

添加“-ldl”解决了这个问题。我还想在 Ubuntu 上构建相同的应用程序 - 相同的 makefile 但不同的编译器 - 设置为“arm-linux-gnueabi-g++-4.6”。我得到了同样的错误。也许在 Ubuntu 上我使用的是 x86 而不是 arm lib。所以我删除了“-ldl”参数并添加了:

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

在来源之后 - 仍然是同样的问题。所以也许我还需要添加 .so 文件:

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

它没有帮助。有任何想法吗?也许我应该使用不同的库?

使文件看起来像:

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