我正在尝试使用 docker 和 qemu 在我的 x86 主机上构建arm镜像
我使用arm64v8/ubuntu作为基础镜像
我制作了一个简单的 opencv 程序并尝试使用 ldd 命令来查看依赖关系。
然而,ldd总是显示:
ldd:退出,退出代码未知 (132)
如果我保存此图像并将其加载到 Arm 计算机中,ldd 就会起作用。
但是,我的主项目太大(或者我的arm计算机空间太小),无法导入到arm计算机,我想使用ldd来找出该项目真正需要哪些库。
我还尝试 nvcr.io/nvidia/l4t-base:r32.4.4 作为基础图像和 ldd 显示
ldd:退出,退出代码未知 (139)
如果我在 docker 中的 arm 镜像中并且我的主机是 x86,我应该怎么做才能使用 ldd 命令?
我的 dockerfile 是这样的:
FROM arm64v8/ubuntu
ENV TZ=Asia/Taipei
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get update && apt-get install -y \
build-essential -y \
cmake -y \
git -y \
libgtk2.0-dev -y \
libjpeg-dev -y \
libpng-dev -y \
libtiff-dev …Run Code Online (Sandbox Code Playgroud) 我在linux中使用Qt creator来制作我的非Qt c ++项目.我发现Qt创建者会为我制作一个makefile.我想将所有项目移动到没有任何qt或qmake的计算机中,但我自己无法真正编辑makefile.当我谷歌有人说添加一个CONFIG - = qt标志可以制作纯g ++ makefile而没有任何qt组件但实际上没有.
我项目中的pro文件是这样的:
QMAKE_LFLAGS += -no-pie
TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt
INCLUDEPATH += /home/MyName/opencvBuild/install/include/opencv4/
LIBS += -L/home/MyName/opencvBuild/install/lib/ \
-lopencv_core \
SOURCES += \
main.cpp \
helloopencv.cpp
HEADERS += \
helloopencv.hpp
Run Code Online (Sandbox Code Playgroud)
并且makefile生成数千个Qt依赖项,如:
.....
###### Files
SOURCES = ../HelloOpenCV/main.cpp \
../HelloOpenCV/helloopencv.cpp
OBJECTS = main.o \
helloopencv.o
DIST = ../Qt/5.12.0/gcc_64/mkspecs/features/spec_pre.prf \
../Qt/5.12.0/gcc_64/mkspecs/common/unix.conf \
../Qt/5.12.0/gcc_64/mkspecs/common/linux.conf \
../Qt/5.12.0/gcc_64/mkspecs/common/sanitize.conf \
../Qt/5.12.0/gcc_64/mkspecs/common/gcc-base.conf \
.....
Run Code Online (Sandbox Code Playgroud)
现在,当我在终端中调用make命令时,它会自动链接到qmake.我的makefile中不需要任何"Qt".我该怎么办?