Статическая сборка под armv7l с использованием dockcross и curl
Имеется кросс компилятор dockcross и необходимо на моей машине скомпилировать бинарник с использованием curl и передать на целевую машину.
Скачиваю tar curl конфигурирую ./configure --prefix=директория/с/проектом --host=armv7l-musl --without-ssl --disable-shared получаю в директории с проектом папки curl
bin/
include/
lib/
share/
CMakeLists
cmake_minimum_required(VERSION 3.0)
project(test)
# Указываем директорию, где находятся заголовочные файлы curl.
include_directories(${CMAKE_SOURCE_DIR}/include)
# Указываем директорию, где находятся статические библиотеки curl.
link_directories(${CMAKE_SOURCE_DIR}/lib)
# Создаем исполняемый файл из исходных файлов.
add_executable(MyExecutable test.cpp)
# Связываем исполняемый файл с библиотекой curl.
target_link_libraries(MyExecutable ${CMAKE_SOURCE_DIR}/lib/libcurl.a)
Далее ввожу команды dockcross ./dockcross-linux-armv7l-musl cmake --build build_arm/ и ./dockcross-linux-armv7l-musl cmake --build build_arm/, получаю ошибку:
/usr/xcc/armv7l-linux-musleabihf-cross/bin/../lib/gcc/armv7l-linux-musleabihf/11.2.1/../../../../armv7l-linux-musleabihf/bin/ld: cannot use executable file '/work/lib/curl-armhf' as input to a link
Скачивал файлы с https://github.com/moparisthebest/static-curl для curl-armv7 и curl-armhf, пытался использовать с dockcross с g++ не получается.
Конфигурация целевой машины:
armv7l
5.5.0-g250b4e5503d1-dirty
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Приложение
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: VFPv3-D16
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_rounding: Needed
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-байтовый
Tag_ABI_align_preserved: 8-байтовый, за исключением ответвления SP
Tag_ABI_enum_size: int
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
arm-linux-gnueabihf-g++ (Debian 10.2.1-6) 10.2.1 20210110
ldd --version
ldd (Debian GLIBC 2.31-13+deb11u6) 2.31