gpt4 book ai didi

c++ - 即使使用 -ldl 标志,g++ 也无法链接到 libdl

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:15 25 4
gpt4 key购买 nike

我正在尝试为 Matrix Vision 销售的 USB 相机 (mvBlueFOX) 编译示例应用程序。他们为我提供了应用程序的源代码、一个 make 文件和一组预编译的共享库。但是,生成文件无法成功构建可执行文件。 “make”返回:

carter@carter-Lenovo-G780:~/mvimpact_acquire-x86-1.12.22.254/apps/LiveSnap$ make
make[1]: Entering directory `/home/carter/mvimpact_acquire-x86-1.12.22.254/apps/LiveSnap/x86'
/usr/bin/g++ -O2 -Wall -W -fPIC -D_REENTRANT -D_GNU_SOURCE -D_MAJOR_VERSION=1 -D_MINOR_VERSION=12 -D_BUILD_VERSION=22 -D_BUILD2_VERSION=254 -DMALLOC_TRACE -DNDEBUG -I../../.. -o LiveSnap LiveSnap.o -L../../../lib/x86 -lmvDeviceManager -lmvPropHandling -lm -lpthread -ldl
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlsym'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlopen'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlclose'
collect2: ld returned 1 exit status
make[1]: *** [LiveSnap] Error 1
make[1]: Leaving directory `/home/carter/mvimpact_acquire-x86-1.12.22.254/apps/LiveSnap/x86'
make: *** [all] Error 2

链接命令的简化版本:

g++ -o LiveSnap x86/LiveSnap.o -lmvDeviceManager -ldl

仍然返回:

../../../lib/x86/libmvPropHandling.so: undefined reference to `dlsym'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlopen'
../../../lib/x86/libmvPropHandling.so: undefined reference to `dlclose'

正在找到 libdl.so,但是该过程仍然失败。这是我的 libdl 版本的问题还是有其他问题?

最佳答案

如果您的 gcc 版本高于 4.6.2,只需在 -lmvDeviceManager 之前添加标志 '-Wl,--no-as-needed'

关于c++ - 即使使用 -ldl 标志,g++ 也无法链接到 libdl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17201849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com