我试着做一个尽可能可移植的可执行文件。删除了几个依赖项之后,在另一个系统上运行二进制文件时,我遇到了以下情况:
/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.15' not found (required by foob)
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.15' not found (required by foob)
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (r
我正在尝试使用Yocto SDK构建一个应用程序。编译运行良好,但当涉及到链接时,会出现以下链接器错误: ...
/opt/mydistro/1.0.0/sysroots/x86_64-pokysdk-linux/usr/libexec/arm-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/8.3.0/real-ld: /opt/mydistro/1.0.0/sysroots/cortexa9t2hf-neon-poky-linux-gnueabi/usr/lib/libc.a(getcontext.o): in function `getcon
在Linux中,下载了一个程序源代码,并希望将其静态链接。我有一个很大的Makefile,我
./configure
make
编译。理解它有点太笼统了,但我如何才能使二进制文件静态链接呢?
编辑:这样做的原因是希望确保二进制文件不会有依赖关系(或者至少是尽可能少),这样就可以在任何基于Linux的计算机上运行,即使是没有Internet连接的计算机,也可以是未更新的Linux。
我刚开始使用Eclipse并开发一个将在Linux上运行的应用程序(在ARM处理器上)。我想使用OpenCV库(.so文件)。我的应用程序由链接到多个静态库的可执行文件组成。这个链接是在IDE设置(ARM linux g++链接器设置)中配置的。我需要在这些静态库中使用openCV。openCV库包括在中安装的.so文件。是否可以从我的静态库中链接到这些库?我不知道该怎么安排。显然,静态库项目中没有g++链接器设置。谢谢你的帮助。
当我尝试在Ubuntu上使用pthread编译应用程序时,我得到了以下错误:
/usr/lib/gcc/i486-linux-gnu/4.4.3/../../../../lib/libpthread.a(pthread_create.o): In function `allocate_stack':
/build/buildd/eglibc-2.11.1/nptl/allocatestack.c:444: undefined reference to `_dl_stack_flags'
Ubuntu版本为:
wade@wadesworld:~$ uname -a
Linux w
我通过JNI在我的Android应用程序中使用OpenCV。libopencv_java.so太大了,大约有7M。显然,我只需要几个库。我检查了OpenCV4Android中的库,发现了一些静态库,比如libopencv_core.a。这是我用Android.mk编写的新代码,其中包含了必要的OpenCV库。我还介绍了libopencv_core.a、libopencv_highgui.a、libopencv_imgproc.a和一些第三方库,它们是: liblibjasper.a、liblibjpeg.a、liblibpng.a、liblibtiff.a。
include $(CLEAR_V
我正在尝试使用sixense的专有sdk (游戏控制器的驱动程序)。看起来它们静态地链接到了boost::thread。我的应用程序和它的一些依赖项也使用了boost::thread,并且我得到了一个段错误。
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bd1bb5 in boost::thread::start_thread() () from /usr/lib/libboost_thread.so.1.42.0
(gdb) bt
#0 0x00007ffff7bd1bb5 in boost::threa