Skip to content

cross-compilation: failure to cross compile on Ubunto for Windows #3263

Description

@vtorri

commands to compile:

cmake \
    -DCMAKE_TOOLCHAIN_FILE=../cross_toolchain.txt \
    -DCMAKE_INSTALL_PREFIX=$prefix_unix \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=TRUE \
    -DAVIF_CODEC_AOM=SYSTEM \
    -DAVIF_CODEC_DAV1D=SYSTEM \
    -DAVIF_BUILD_APPS:BOOL=OFF \
    -G Ninja \
    .. 

cross compilation file:

set(CMAKE_SYSTEM_PROCESSOR @proc@)

# binaries
set(CMAKE_C_COMPILER @host@-gcc)
set(CMAKE_CXX_COMPILER @host@-g++)
set(CMAKE_LINKER @host@-ld)
set(CMAKE_STRIP @host@-strip)
set(CMAKE_RC_COMPILER @host@-windres)

set(CMAKE_FIND_ROOT_PATH @prefix@)

# flags
set(CMAKE_C_FLAGS "-I@prefix@/include -D__USE_MINGW_ANSI_STDIO=0 -D_WIN32_WINNT=@winver@")
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}")

set(CMAKE_C_FLAGS_DEBUG "-Og -g3 -ggdb3")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")

set(CMAKE_C_FLAGS_RELEASE "-O2 -pipe -march=native")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")

set(CMAKE_SHARED_LINKER_FLAGS "-L@prefix@/lib")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_SHARED_LINKER}")

output:

[2/26] Building C object CMakeFiles/avif_obj.dir/src/mem.c.obj
[3/26] Building C object CMakeFiles/avif_obj.dir/src/properties.c.obj
[4/26] Building C object CMakeFiles/avif_obj.dir/src/rawdata.c.obj
[5/26] Building C object CMakeFiles/avif_obj.dir/src/io.c.obj
[6/26] Building C object CMakeFiles/avif_obj.dir/src/reformat_libsharpyuv.c.obj
[7/26] Building C object CMakeFiles/avif_obj.dir/src/exif.c.obj
[8/26] Building C object CMakeFiles/avif_obj.dir/src/colrconvert.c.obj
[9/26] Building C object CMakeFiles/avif_obj.dir/src/obu.c.obj
[10/26] Building C object CMakeFiles/avif_obj.dir/src/scale.c.obj
[11/26] Building C object CMakeFiles/avif_obj.dir/src/utils.c.obj
[12/26] Building C object CMakeFiles/avif_obj.dir/src/codec_dav1d.c.obj
[13/26] Building C object CMakeFiles/avif_obj.dir/src/colr.c.obj
[14/26] Building C object CMakeFiles/avif_obj.dir/src/alpha.c.obj
[15/26] Building C object CMakeFiles/avif_obj.dir/src/reformat_libyuv.c.obj
[16/26] Building C object CMakeFiles/avif_obj.dir/src/sampletransform.c.obj
[17/26] Building C object CMakeFiles/avif_obj.dir/src/stream.c.obj
[18/26] Building C object CMakeFiles/avif_obj.dir/src/codec_aom.c.obj
[19/26] Building C object CMakeFiles/avif_obj.dir/src/gainmap.c.obj
[20/26] Building C object CMakeFiles/avif_obj.dir/src/avif.c.obj
[21/26] Building C object CMakeFiles/avif_obj.dir/src/write.c.obj
[22/26] Building C object CMakeFiles/avif_obj.dir/src/reformat.c.obj
[23/26] Building C object CMakeFiles/avif_obj.dir/src/read.c.obj
[24/26] Linking C static library libavif_internal.a
[25/26] Linking CXX shared library libavif.dll
FAILED: libavif.dll libavif.dll.a 
: && /usr/bin/x86_64-w64-mingw32-g++ -I/home/vtorri/ewpi_64/include -D__USE_MINGW_ANSI_STDIO=0 -D_WIN32_WINNT=0x0A00 -O2 -pipe -march=native  -L/home/vtorri/ewpi_64/lib -shared -o libavif.dll -Wl,--out-implib,libavif.dll.a -Wl,--major-image-version,16,--minor-image-version,4 CMakeFiles/avif_obj.dir/src/alpha.c.obj CMakeFiles/avif_obj.dir/src/avif.c.obj CMakeFiles/avif_obj.dir/src/colr.c.obj CMakeFiles/avif_obj.dir/src/colrconvert.c.obj CMakeFiles/avif_obj.dir/src/diag.c.obj CMakeFiles/avif_obj.dir/src/exif.c.obj CMakeFiles/avif_obj.dir/src/gainmap.c.obj CMakeFiles/avif_obj.dir/src/io.c.obj CMakeFiles/avif_obj.dir/src/mem.c.obj CMakeFiles/avif_obj.dir/src/obu.c.obj CMakeFiles/avif_obj.dir/src/properties.c.obj CMakeFiles/avif_obj.dir/src/rawdata.c.obj CMakeFiles/avif_obj.dir/src/read.c.obj CMakeFiles/avif_obj.dir/src/reformat.c.obj CMakeFiles/avif_obj.dir/src/reformat_libsharpyuv.c.obj CMakeFiles/avif_obj.dir/src/reformat_libyuv.c.obj CMakeFiles/avif_obj.dir/src/sampletransform.c.obj CMakeFiles/avif_obj.dir/src/scale.c.obj CMakeFiles/avif_obj.dir/src/stream.c.obj CMakeFiles/avif_obj.dir/src/utils.c.obj CMakeFiles/avif_obj.dir/src/write.c.obj CMakeFiles/avif_obj.dir/src/codec_dav1d.c.obj CMakeFiles/avif_obj.dir/src/codec_aom.c.obj  /home/vtorri/ewpi_64/lib/libyuv.dll.a  /home/vtorri/ewpi_64/lib/libdav1d.dll.a  /home/vtorri/ewpi_64/lib/libaom.dll.a  -l_aom_dep_lib_m-NOTFOUND  -l_aom_dep_lib_pthread-NOTFOUND  /home/vtorri/ewpi_64/lib/libvmaf.dll.a  -l_aom_dep_lib_m-NOTFOUND  -l_aom_dep_lib_pthread-NOTFOUND  /home/vtorri/ewpi_64/lib/libvmaf.dll.a  -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 && :
/usr/bin/x86_64-w64-mingw32-ld : ne peut pas trouver -l_aom_dep_lib_m-NOTFOUND : Aucun fichier ou dossier de ce nom
/usr/bin/x86_64-w64-mingw32-ld : ne peut pas trouver -l_aom_dep_lib_pthread-NOTFOUND : Aucun fichier ou dossier de ce nom
/usr/bin/x86_64-w64-mingw32-ld : ne peut pas trouver -l_aom_dep_lib_m-NOTFOUND : Aucun fichier ou dossier de ce nom
/usr/bin/x86_64-w64-mingw32-ld : ne peut pas trouver -l_aom_dep_lib_pthread-NOTFOUND : Aucun fichier ou dossier de ce nom
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

no problem on Windows with msys2

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions