[XviD-devel] Linked errors cross-compiling for x64 Windows on x64 Linux

Leo Izen leo.izen at gmail.com
Wed Feb 16 22:40:08 CET 2011


On Wed, Feb 16, 2011 at 8:03 AM, Michael Militzer <michael at xvid.org> wrote:

> Hi,
>
> all your undefined references are symbols defined in assembler .asm files.
> So I guess something did go wrong assembling these files (or the object
> output is broken etc.).
>

Problem discovered: all the assembly symbols are prefixed by and underscore:
i.e.

[Leo at chessman =build]$ x86_64-w64-mingw32-nm
quant/x86_asm/quantize_h263_mmx.o
0000000000000000 r .rodata
0000000000000000 t .rotext
0000000000000000 t .text
0000000000000840 T _dequant_h263_inter_mmx
000000000000087e t _dequant_h263_inter_mmx.loop
00000000000009c0 T _dequant_h263_inter_sse2
0000000000000a1d t _dequant_h263_inter_sse2.loop
0000000000000900 T _dequant_h263_inter_xmm
0000000000000940 t _dequant_h263_inter_xmm.loop
0000000000000580 T _dequant_h263_intra_mmx
00000000000005be t _dequant_h263_intra_mmx.loop
0000000000000720 T _dequant_h263_intra_sse2
0000000000000777 t _dequant_h263_intra_sse2.loop
0000000000000660 T _dequant_h263_intra_xmm
000000000000069c t _dequant_h263_intra_xmm.loop
00000000000002c0 T _quant_h263_inter_mmx
0000000000000356 t _quant_h263_inter_mmx.done
0000000000000300 t _quant_h263_inter_mmx.loop
0000000000000380 t _quant_h263_inter_mmx.q1loop
000000000000036b t _quant_h263_inter_mmx.q1routine
00000000000003e0 T _quant_h263_inter_sse2
00000000000004ac t _quant_h263_inter_sse2.qes2_done
0000000000000440 t _quant_h263_inter_sse2.qes2_loop
000000000000040f t _quant_h263_inter_sse2.qes2_not1
00000000000004dd t _quant_h263_inter_sse2.qes2_q1_routine
0000000000000500 t _quant_h263_inter_sse2.qes2_q1loop
0000000000000000 T _quant_h263_intra_mmx
0000000000000120 t _quant_h263_intra_mmx.end
000000000000004e t _quant_h263_intra_mmx.loop
00000000000000c1 t _quant_h263_intra_mmx.loop_low
00000000000000af t _quant_h263_intra_mmx.low
0000000000000140 T _quant_h263_intra_sse2
00000000000002a5 t _quant_h263_intra_sse2.end
000000000000019f t _quant_h263_intra_sse2.loop
000000000000022e t _quant_h263_intra_sse2.loop_low
000000000000021b t _quant_h263_intra_sse2.low
0000000000000220 r mmx_div
0000000000000020 r mmx_quant
0000000000000120 r mmx_sub
0000000000000000 r plus_one
[Leo at chessman =build]$


>
> Which assembler do you use? yasm or nasm? Make sure you have the latest
> (stable) version installed. If you already have the latest version, try
> yasm instead of nasm (or vice-versa).
>
>
 I am using yasm, from my package manager and the latest cvs of xvidcore.
However, seeing that I figured out that there's underscores above, I think a
better solution would be an addition to AFLAGS to not use an underscore. My
current AFLAGS do use -f win64 and the needed stuff to assemble for
x86_64-w64-mingw32, and from the nm above, the object files are valid.

So...  is there an AFLAG that will let me remove the _prefix?


> I have successfully cross-compiled xvidcore to win64 with both yasm and
> nasm, but with older gcc (not 4.6). But it doesn't look like gcc is the
> problem here...
>
> Regards,
> Michael
>
>
> Quoting Leo Izen <leo.izen at gmail.com>:
>
> > On Wed, Feb 16, 2011 at 5:07 AM, Michael Militzer <michael at xvid.org>
> wrote:
> >
> >> Hi,
> >>
> >> what are the symbols that are unresolved in your libxvidcore.a? Please
> >> send the exact error messages.
> >>
> >
> > Here's my output:
> >
> >   D: =build
> >   C: ./decoder.c
> >   C: ./encoder.c
> >   C: ./xvid.c
> >   C: bitstream/bitstream.c
> >   C: bitstream/cbp.c
> >   C: bitstream/mbcoding.c
> >   C: dct/fdct.c
> >   C: dct/idct.c
> >   C: dct/simple_idct.c
> >   C: image/colorspace.c
> >   C: image/image.c
> >   C: image/interpolate8x8.c
> >   C: image/font.c
> >   C: image/postprocessing.c
> >   C: image/qpel.c
> >   C: image/reduced.c
> >   C: motion/estimation_bvop.c
> >   C: motion/estimation_common.c
> >   C: motion/estimation_gmc.c
> >   C: motion/estimation_pvop.c
> >   C: motion/estimation_rd_based.c
> >   C: motion/estimation_rd_based_bvop.c
> >   C: motion/gmc.c
> >   C: motion/motion_comp.c
> >   C: motion/vop_type_decision.c
> >   C: motion/sad.c
> >   C: prediction/mbprediction.c
> >   C: plugins/plugin_single.c
> >   C: plugins/plugin_2pass1.c
> >   C: plugins/plugin_2pass2.c
> >   C: plugins/plugin_lumimasking.c
> >   C: plugins/plugin_dump.c
> >   C: plugins/plugin_psnr.c
> >   C: plugins/plugin_ssim.c
> >   C: plugins/plugin_psnrhvsm.c
> >   C: quant/quant_h263.c
> >   C: quant/quant_matrix.c
> >   C: quant/quant_mpeg.c
> >   C: utils/emms.c
> >   C: utils/mbtransquant.c
> >   C: utils/mem_align.c
> >   C: utils/mem_transfer.c
> >   C: utils/timer.c
> >   A: bitstream/x86_asm/cbp_mmx.asm
> >   A: bitstream/x86_asm/cbp_sse2.asm
> >   A: dct/x86_asm/fdct_mmx_ffmpeg.asm
> >   A: dct/x86_asm/fdct_mmx_skal.asm
> >   A: dct/x86_asm/fdct_sse2_skal.asm
> >   A: dct/x86_asm/idct_3dne.asm
> >   A: dct/x86_asm/idct_mmx.asm
> >   A: dct/x86_asm/idct_sse2_dmitry.asm
> >   A: image/x86_asm/colorspace_rgb_mmx.asm
> >   A: image/x86_asm/colorspace_yuv_mmx.asm
> >   A: image/x86_asm/colorspace_yuyv_mmx.asm
> >   A: image/x86_asm/interpolate8x8_3dn.asm
> >   A: image/x86_asm/interpolate8x8_3dne.asm
> >   A: image/x86_asm/interpolate8x8_mmx.asm
> >   A: image/x86_asm/interpolate8x8_xmm.asm
> >   A: image/x86_asm/postprocessing_mmx.asm
> >   A: image/x86_asm/postprocessing_sse2.asm
> >   A: image/x86_asm/reduced_mmx.asm
> >   A: image/x86_asm/qpel_mmx.asm
> >   A: image/x86_asm/gmc_mmx.asm
> >   A: image/x86_asm/deintl_sse.asm
> >   A: motion/x86_asm/sad_xmm.asm
> >   A: motion/x86_asm/sad_sse2.asm
> >   A: motion/x86_asm/sad_mmx.asm
> >   A: motion/x86_asm/sad_3dne.asm
> >   A: motion/x86_asm/sad_3dn.asm
> >   A: quant/x86_asm/quantize_h263_mmx.asm
> >   A: quant/x86_asm/quantize_h263_3dne.asm
> >   A: quant/x86_asm/quantize_mpeg_xmm.asm
> >   A: quant/x86_asm/quantize_mpeg_mmx.asm
> >   A: utils/x86_asm/mem_transfer_mmx.asm
> >   A: utils/x86_asm/mem_transfer_3dne.asm
> >   A: utils/x86_asm/interlacing_mmx.asm
> >   A: utils/x86_asm/cpuid.asm
> >   A: plugins/x86_asm/plugin_ssim-a.asm
> >   L: libxvidcore.a
> >   L: xvidcore.dll
> > Creating library file: xvidcore.dll.axvid.o:xvid.c:(.text+0x99):
> undefined
> > reference to `check_cpu_features'
> > xvid.o:xvid.c:(.text+0xad): undefined reference to `sse_os_trigger'
> > xvid.o:xvid.c:(.text+0xcd): undefined reference to `sse2_os_trigger'
> > xvid.o:xvid.c:(.text+0x6db): undefined reference to `emms_mmx'
> > xvid.o:xvid.c:(.text+0x6f7): undefined reference to `fdct_mmx_skal'
> > xvid.o:xvid.c:(.text+0x705): undefined reference to `idct_mmx'
> > xvid.o:xvid.c:(.text+0x72f): undefined reference to
> `quant_h263_intra_mmx'
> > xvid.o:xvid.c:(.text+0x73d): undefined reference to
> `quant_h263_inter_mmx'
> > xvid.o:xvid.c:(.text+0x74b): undefined reference to
> `dequant_h263_intra_mmx'
> > xvid.o:xvid.c:(.text+0x759): undefined reference to
> `dequant_h263_inter_mmx'
> > xvid.o:xvid.c:(.text+0x767): undefined reference to
> `quant_mpeg_intra_mmx'
> > xvid.o:xvid.c:(.text+0x775): undefined reference to
> `quant_mpeg_inter_mmx'
> > xvid.o:xvid.c:(.text+0x783): undefined reference to
> `dequant_mpeg_intra_mmx'
> > xvid.o:xvid.c:(.text+0x791): undefined reference to
> `dequant_mpeg_inter_mmx'
> > xvid.o:xvid.c:(.text+0x79f): undefined reference to
> `transfer_8to16copy_mmx'
> > xvid.o:xvid.c:(.text+0x7ad): undefined reference to
> `transfer_16to8copy_mmx'
> > xvid.o:xvid.c:(.text+0x7bb): undefined reference to
> `transfer_8to16sub_mmx'
> > xvid.o:xvid.c:(.text+0x7c9): undefined reference to
> > `transfer_8to16subro_mmx'
> > xvid.o:xvid.c:(.text+0x7d7): undefined reference to
> `transfer_8to16sub2_mmx'
> > xvid.o:xvid.c:(.text+0x7e5): undefined reference to
> `transfer_16to8add_mmx'
> > xvid.o:xvid.c:(.text+0x7f3): undefined reference to
> `transfer8x8_copy_mmx'
> > xvid.o:xvid.c:(.text+0x801): undefined reference to
> `transfer8x4_copy_mmx'
> > xvid.o:xvid.c:(.text+0x80f): undefined reference to `MBFieldTest_mmx'
> > xvid.o:xvid.c:(.text+0x81d): undefined reference to
> > `interpolate8x8_halfpel_h_mmx'
> > xvid.o:xvid.c:(.text+0x82b): undefined reference to
> > `interpolate8x8_halfpel_v_mmx'
> > xvid.o:xvid.c:(.text+0x839): undefined reference to
> > `interpolate8x8_halfpel_hv_mmx'
> > xvid.o:xvid.c:(.text+0x847): undefined reference to
> > `interpolate8x4_halfpel_h_mmx'
> > xvid.o:xvid.c:(.text+0x855): undefined reference to
> > `interpolate8x4_halfpel_v_mmx'
> > xvid.o:xvid.c:(.text+0x863): undefined reference to
> > `interpolate8x4_halfpel_hv_mmx'
> > xvid.o:xvid.c:(.text+0x871): undefined reference to
> > `interpolate8x8_halfpel_add_mmx'
> > xvid.o:xvid.c:(.text+0x87f): undefined reference to
> > `interpolate8x8_halfpel_h_add_mmx'
> > xvid.o:xvid.c:(.text+0x88d): undefined reference to
> > `interpolate8x8_halfpel_v_add_mmx'
> > xvid.o:xvid.c:(.text+0x89b): undefined reference to
> > `interpolate8x8_halfpel_hv_add_mmx'
> > xvid.o:xvid.c:(.text+0x8a9): undefined reference to
> > `interpolate8x8_6tap_lowpass_h_mmx'
> > xvid.o:xvid.c:(.text+0x8b7): undefined reference to
> > `interpolate8x8_6tap_lowpass_v_mmx'
> > xvid.o:xvid.c:(.text+0x8c5): undefined reference to
> > `interpolate8x8_avg2_mmx'
> > xvid.o:xvid.c:(.text+0x8d3): undefined reference to
> > `interpolate8x8_avg4_mmx'
> > xvid.o:xvid.c:(.text+0x8e1): undefined reference to
> `image_brightness_mmx'
> > xvid.o:xvid.c:(.text+0x8ef): undefined reference to `yv12_to_yv12_mmx'
> > xvid.o:xvid.c:(.text+0x8fd): undefined reference to `bgr_to_yv12_mmx'
> > xvid.o:xvid.c:(.text+0x90b): undefined reference to `rgb_to_yv12_mmx'
> > xvid.o:xvid.c:(.text+0x919): undefined reference to `bgra_to_yv12_mmx'
> > xvid.o:xvid.c:(.text+0x927): undefined reference to `rgba_to_yv12_mmx'
> > xvid.o:xvid.c:(.text+0x935): undefined reference to `yuyv_to_yv12_mmx'
> > xvid.o:xvid.c:(.text+0x943): undefined reference to `uyvy_to_yv12_mmx'
> > xvid.o:xvid.c:(.text+0x951): undefined reference to `yv12_to_bgr_mmx'
> > xvid.o:xvid.c:(.text+0x95f): undefined reference to `yv12_to_bgra_mmx'
> > xvid.o:xvid.c:(.text+0x96d): undefined reference to `yv12_to_yuyv_mmx'
> > xvid.o:xvid.c:(.text+0x97b): undefined reference to `yv12_to_uyvy_mmx'
> > xvid.o:xvid.c:(.text+0x989): undefined reference to `yv12_to_yuyvi_mmx'
> > xvid.o:xvid.c:(.text+0x997): undefined reference to `yv12_to_uyvyi_mmx'
> > xvid.o:xvid.c:(.text+0x9a5): undefined reference to `calc_cbp_mmx'
> > xvid.o:xvid.c:(.text+0x9b3): undefined reference to `sad16_mmx'
> > xvid.o:xvid.c:(.text+0x9c1): undefined reference to `sad8_mmx'
> > xvid.o:xvid.c:(.text+0x9cf): undefined reference to `sad16bi_mmx'
> > xvid.o:xvid.c:(.text+0x9dd): undefined reference to `sad8bi_mmx'
> > xvid.o:xvid.c:(.text+0x9eb): undefined reference to `dev16_mmx'
> > xvid.o:xvid.c:(.text+0x9f9): undefined reference to `sad16v_mmx'
> > xvid.o:xvid.c:(.text+0xa07): undefined reference to `sse8_16bit_mmx'
> > xvid.o:xvid.c:(.text+0xa15): undefined reference to `sse8_8bit_mmx'
> > xvid.o:xvid.c:(.text+0xa2d): undefined reference to `emms_3dn'
> > xvid.o:xvid.c:(.text+0xa3b): undefined reference to `sad16bi_3dn'
> > xvid.o:xvid.c:(.text+0xa49): undefined reference to `sad8bi_3dn'
> > xvid.o:xvid.c:(.text+0xa57): undefined reference to `yuyv_to_yv12_3dn'
> > xvid.o:xvid.c:(.text+0xa65): undefined reference to `uyvy_to_yv12_3dn'
> > xvid.o:xvid.c:(.text+0xa81): undefined reference to `fdct_xmm_skal'
> > xvid.o:xvid.c:(.text+0xa8f): undefined reference to `idct_xmm'
> > xvid.o:xvid.c:(.text+0xa9d): undefined reference to
> > `interpolate8x8_halfpel_h_xmm'
> > xvid.o:xvid.c:(.text+0xaab): undefined reference to
> > `interpolate8x8_halfpel_v_xmm'
> > xvid.o:xvid.c:(.text+0xab9): undefined reference to
> > `interpolate8x8_halfpel_hv_xmm'
> > xvid.o:xvid.c:(.text+0xac7): undefined reference to
> > `interpolate8x4_halfpel_h_xmm'
> > xvid.o:xvid.c:(.text+0xad5): undefined reference to
> > `interpolate8x4_halfpel_v_xmm'
> > xvid.o:xvid.c:(.text+0xae3): undefined reference to
> > `interpolate8x4_halfpel_hv_xmm'
> > xvid.o:xvid.c:(.text+0xaf1): undefined reference to
> > `interpolate8x8_halfpel_add_xmm'
> > xvid.o:xvid.c:(.text+0xaff): undefined reference to
> > `interpolate8x8_halfpel_h_add_xmm'
> > xvid.o:xvid.c:(.text+0xb0d): undefined reference to
> > `interpolate8x8_halfpel_v_add_xmm'
> > xvid.o:xvid.c:(.text+0xb1b): undefined reference to
> > `interpolate8x8_halfpel_hv_add_xmm'
> > xvid.o:xvid.c:(.text+0xb29): undefined reference to
> `quant_mpeg_inter_xmm'
> > xvid.o:xvid.c:(.text+0xb37): undefined reference to
> `dequant_h263_intra_xmm'
> > xvid.o:xvid.c:(.text+0xb45): undefined reference to
> `dequant_h263_inter_xmm'
> > xvid.o:xvid.c:(.text+0xb53): undefined reference to
> `transfer_8to16sub2_xmm'
> > xvid.o:xvid.c:(.text+0xb61): undefined reference to
> > `transfer_8to16sub2ro_xmm'
> > xvid.o:xvid.c:(.text+0xb6f): undefined reference to `yuyv_to_yv12_xmm'
> > xvid.o:xvid.c:(.text+0xb7d): undefined reference to `uyvy_to_yv12_xmm'
> > xvid.o:xvid.c:(.text+0xb8b): undefined reference to `sad16_xmm'
> > xvid.o:xvid.c:(.text+0xb99): undefined reference to `sad8_xmm'
> > xvid.o:xvid.c:(.text+0xba7): undefined reference to `sad16bi_xmm'
> > xvid.o:xvid.c:(.text+0xbb5): undefined reference to `sad8bi_xmm'
> > xvid.o:xvid.c:(.text+0xbc3): undefined reference to `dev16_xmm'
> > xvid.o:xvid.c:(.text+0xbd1): undefined reference to `sad16v_xmm'
> > xvid.o:xvid.c:(.text+0xbe9): undefined reference to
> > `interpolate8x8_halfpel_h_3dn'
> > xvid.o:xvid.c:(.text+0xbf7): undefined reference to
> > `interpolate8x8_halfpel_v_3dn'
> > xvid.o:xvid.c:(.text+0xc05): undefined reference to
> > `interpolate8x8_halfpel_hv_3dn'
> > xvid.o:xvid.c:(.text+0xc13): undefined reference to
> > `interpolate8x4_halfpel_h_3dn'
> > xvid.o:xvid.c:(.text+0xc21): undefined reference to
> > `interpolate8x4_halfpel_v_3dn'
> > xvid.o:xvid.c:(.text+0xc2f): undefined reference to
> > `interpolate8x4_halfpel_hv_3dn'
> > xvid.o:xvid.c:(.text+0xc4b): undefined reference to
> > `transfer_8to16copy_3dne'
> > xvid.o:xvid.c:(.text+0xc59): undefined reference to
> > `transfer_16to8copy_3dne'
> > xvid.o:xvid.c:(.text+0xc67): undefined reference to
> `transfer_8to16sub_3dne'
> > xvid.o:xvid.c:(.text+0xc75): undefined reference to
> > `transfer_8to16subro_3dne'
> > xvid.o:xvid.c:(.text+0xc83): undefined reference to
> `transfer_16to8add_3dne'
> > xvid.o:xvid.c:(.text+0xc91): undefined reference to
> `transfer8x8_copy_3dne'
> > xvid.o:xvid.c:(.text+0xc9f): undefined reference to
> `transfer8x4_copy_3dne'
> > xvid.o:xvid.c:(.text+0xcbb): undefined reference to `idct_3dne'
> > xvid.o:xvid.c:(.text+0xcc9): undefined reference to
> > `transfer_8to16sub2_3dne'
> > xvid.o:xvid.c:(.text+0xcd7): undefined reference to
> > `interpolate8x8_halfpel_h_3dne'
> > xvid.o:xvid.c:(.text+0xce5): undefined reference to
> > `interpolate8x8_halfpel_v_3dne'
> > xvid.o:xvid.c:(.text+0xcf3): undefined reference to
> > `interpolate8x8_halfpel_hv_3dne'
> > xvid.o:xvid.c:(.text+0xd01): undefined reference to
> > `interpolate8x4_halfpel_h_3dne'
> > xvid.o:xvid.c:(.text+0xd0f): undefined reference to
> > `interpolate8x4_halfpel_v_3dne'
> > xvid.o:xvid.c:(.text+0xd1d): undefined reference to
> > `interpolate8x4_halfpel_hv_3dne'
> > xvid.o:xvid.c:(.text+0xd2b): undefined reference to
> `quant_h263_intra_3dne'
> > xvid.o:xvid.c:(.text+0xd39): undefined reference to
> `quant_h263_inter_3dne'
> > xvid.o:xvid.c:(.text+0xd47): undefined reference to
> > `dequant_mpeg_intra_3dne'
> > xvid.o:xvid.c:(.text+0xd55): undefined reference to
> > `dequant_mpeg_inter_3dne'
> > xvid.o:xvid.c:(.text+0xd63): undefined reference to
> > `dequant_h263_intra_3dne'
> > xvid.o:xvid.c:(.text+0xd71): undefined reference to
> > `dequant_h263_inter_3dne'
> > xvid.o:xvid.c:(.text+0xd7f): undefined reference to `sad16_3dne'
> > xvid.o:xvid.c:(.text+0xd8d): undefined reference to `sad8_3dne'
> > xvid.o:xvid.c:(.text+0xd9b): undefined reference to `sad16bi_3dne'
> > xvid.o:xvid.c:(.text+0xda9): undefined reference to `sad8bi_3dne'
> > xvid.o:xvid.c:(.text+0xdb7): undefined reference to `dev16_3dne'
> > xvid.o:xvid.c:(.text+0xdd3): undefined reference to `calc_cbp_sse2'
> > xvid.o:xvid.c:(.text+0xde1): undefined reference to
> `quant_h263_intra_sse2'
> > xvid.o:xvid.c:(.text+0xdef): undefined reference to
> `quant_h263_inter_sse2'
> > xvid.o:xvid.c:(.text+0xdfd): undefined reference to
> > `dequant_h263_intra_sse2'
> > xvid.o:xvid.c:(.text+0xe0b): undefined reference to
> > `dequant_h263_inter_sse2'
> > xvid.o:xvid.c:(.text+0xe19): undefined reference to `sad16_sse2'
> > xvid.o:xvid.c:(.text+0xe27): undefined reference to `dev16_sse2'
> > xvid.o:xvid.c:(.text+0xe35): undefined reference to `sseh8_16bit_sse2'
> > xvid.o:xvid.c:(.text+0xe43): undefined reference to `coeff8_energy_sse2'
> > xvid.o:xvid.c:(.text+0xe51): undefined reference to `blocksum8_sse2'
> > xvid.o:xvid.c:(.text+0xe5f): undefined reference to `fdct_sse2_skal'
> > xvid.o:xvid.c:(.text+0xe6d): undefined reference to `idct_sse2_skal'
> > xvid.o:xvid.c:(.text+0xe7b): undefined reference to
> `image_brightness_sse2'
> > xvid.o:xvid.c:(.text+0xe95): undefined reference to `sad16_sse3'
> > xvid.o:xvid.c:(.text+0xea3): undefined reference to `dev16_sse3'
> > image/image.o:image.c:(.text+0x494a): undefined reference to
> > `check_cpu_features'
> > image/image.o:image.c:(.text+0x495e): undefined reference to
> > `xvid_deinterlace_sse'
> > image/qpel.o:qpel.c:(.text+0x15a36): undefined reference to
> > `xvid_Expand_mmx'
> > image/qpel.o:qpel.c:(.text+0x15a53): undefined reference to
> > `xvid_Expand_mmx'
> > image/qpel.o:qpel.c:(.text+0x15a70): undefined reference to
> > `xvid_Expand_mmx'
> > image/qpel.o:qpel.c:(.text+0x15a8d): undefined reference to
> > `xvid_Expand_mmx'
> > image/qpel.o:qpel.c:(.text+0x15ac2): undefined reference to
> > `xvid_FIR_1_0_0_0'
> > image/qpel.o:qpel.c:(.text+0x15ae7): undefined reference to
> > `xvid_FIR_3_1_0_0'
> > image/qpel.o:qpel.c:(.text+0x15b0c): undefined reference to
> > `xvid_FIR_6_3_1_0'
> > image/qpel.o:qpel.c:(.text+0x15b31): undefined reference to
> > `xvid_FIR_14_3_2_1'
> > image/qpel.o:qpel.c:(.text+0x15b56): undefined reference to
> > `xvid_FIR_20_6_3_1'
> > image/qpel.o:qpel.c:(.text+0x15b7b): undefined reference to
> > `xvid_FIR_20_20_6_3'
> > image/qpel.o:qpel.c:(.text+0x15ba0): undefined reference to
> > `xvid_FIR_23_19_6_3'
> > image/qpel.o:qpel.c:(.text+0x15bc5): undefined reference to
> > `xvid_FIR_7_20_20_6'
> > image/qpel.o:qpel.c:(.text+0x15bea): undefined reference to
> > `xvid_FIR_6_20_20_6'
> > image/qpel.o:qpel.c:(.text+0x15c0f): undefined reference to
> > `xvid_FIR_6_20_20_7'
> > image/qpel.o:qpel.c:(.text+0x15c34): undefined reference to
> > `xvid_FIR_3_6_20_20'
> > image/qpel.o:qpel.c:(.text+0x15c59): undefined reference to
> > `xvid_FIR_3_6_19_23'
> > image/qpel.o:qpel.c:(.text+0x15c7e): undefined reference to
> > `xvid_FIR_1_3_6_20'
> > image/qpel.o:qpel.c:(.text+0x15ca3): undefined reference to
> > `xvid_FIR_1_2_3_14'
> > image/qpel.o:qpel.c:(.text+0x15cc8): undefined reference to
> > `xvid_FIR_0_1_3_6'
> > image/qpel.o:qpel.c:(.text+0x15ced): undefined reference to
> > `xvid_FIR_0_0_1_3'
> > image/qpel.o:qpel.c:(.text+0x15d12): undefined reference to
> > `xvid_FIR_0_0_0_1'
> > image/qpel.o:qpel.c:(.data+0x180): undefined reference to
> > `xvid_H_Pass_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x188): undefined reference to
> > `xvid_H_Pass_Avrg_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x190): undefined reference to
> > `xvid_H_Pass_Avrg_Up_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x198): undefined reference to
> > `xvid_V_Pass_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x1a0): undefined reference to
> > `xvid_V_Pass_Avrg_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x1a8): undefined reference to
> > `xvid_V_Pass_Avrg_Up_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x1b0): undefined reference to
> > `xvid_H_Pass_8_mmx'
> > image/qpel.o:qpel.c:(.data+0x1b8): undefined reference to
> > `xvid_H_Pass_Avrg_8_mmx'
> > image/qpel.o:qpel.c:(.data+0x1c0): undefined reference to
> > `xvid_H_Pass_Avrg_Up_8_mmx'
> > image/qpel.o:qpel.c:(.data+0x1c8): undefined reference to
> > `xvid_V_Pass_8_mmx'
> > image/qpel.o:qpel.c:(.data+0x1d0): undefined reference to
> > `xvid_V_Pass_Avrg_8_mmx'
> > image/qpel.o:qpel.c:(.data+0x1d8): undefined reference to
> > `xvid_V_Pass_Avrg_Up_8_mmx'
> > image/qpel.o:qpel.c:(.data+0x1e0): undefined reference to
> > `xvid_H_Pass_Add_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x1e8): undefined reference to
> > `xvid_H_Pass_Avrg_Add_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x1f0): undefined reference to
> > `xvid_H_Pass_Avrg_Up_Add_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x1f8): undefined reference to
> > `xvid_V_Pass_Add_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x200): undefined reference to
> > `xvid_V_Pass_Avrg_Add_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x208): undefined reference to
> > `xvid_V_Pass_Avrg_Up_Add_16_mmx'
> > image/qpel.o:qpel.c:(.data+0x210): undefined reference to
> > `xvid_H_Pass_8_Add_mmx'
> > image/qpel.o:qpel.c:(.data+0x218): undefined reference to
> > `xvid_H_Pass_Avrg_8_Add_mmx'
> > image/qpel.o:qpel.c:(.data+0x220): undefined reference to
> > `xvid_H_Pass_Avrg_Up_8_Add_mmx'
> > image/qpel.o:qpel.c:(.data+0x228): undefined reference to
> > `xvid_V_Pass_8_Add_mmx'
> > image/qpel.o:qpel.c:(.data+0x230): undefined reference to
> > `xvid_V_Pass_Avrg_8_Add_mmx'
> > image/qpel.o:qpel.c:(.data+0x238): undefined reference to
> > `xvid_V_Pass_Avrg_Up_8_Add_mmx'
> > motion/gmc.o:gmc.c:(.text+0x1cea): undefined reference to
> > `xvid_GMC_Core_Lin_8_sse41'
> > motion/gmc.o:gmc.c:(.text+0x1d04): undefined reference to
> > `xvid_GMC_Core_Lin_8_sse2'
> > motion/gmc.o:gmc.c:(.text+0x1d14): undefined reference to
> > `xvid_GMC_Core_Lin_8_mmx'
> > plugins/plugin_ssim.o:plugin_ssim.c:(.text+0x1b06): undefined reference
> to
> > `check_cpu_features'
> > plugins/plugin_ssim.o:plugin_ssim.c:(.text+0x1b29): undefined reference
> to
> > `lum_8x8_mmx'
> > plugins/plugin_ssim.o:plugin_ssim.c:(.text+0x1b38): undefined reference
> to
> > `consim_mmx'
> > plugins/plugin_ssim.o:plugin_ssim.c:(.text+0x1b5c): undefined reference
> to
> > `consim_sse2'
> >
> /usr/bin/../lib/gcc/x86_64-w64-mingw32/4.6.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o):
> > In function `main':
> >
> /buildbot/mingw-w64/linux-x86_64-x86_64/build/build/mingw/obj/../../../build/mingw/mingw-w64-crt/crt/crt0_c.c:18:
> > undefined reference to `WinMain'
> > collect2: ld returned 1 exit status
> >
> > make: *** [xvidcore.dll] Error 1
> >
> >
> >
> >>
> >> Regards,
> >> Michael
> >>
> >>
> >> Quoting Leo Izen <leo.izen at gmail.com>:
> >>
> >> > I'm getting linker errors cross-compiling xvidcore. My build is
> >> > x86_64-unknown-linux-gnu and my host is x86_64-w64-mingw32 using a
> >> > recent (4.6.0) Mingw-w64 gcc for linux. I grabbed the latest cvs,
> >> > cd'd to xvidcore/build/generic/ and ran
> >> >
> >> > ./bootstrap.sh
> >> > ./configure --host=x86_64-w64-mingw32
> >> --prefix=/usr/local/x86_64-w64-mingw32
> >> >
> >> > I had to manually patch the platform.inc to remove the -mno-cygwin
> >> > compiler and linker flags. I also edited the $STATIC_LIBRARY to
> >> > include lib before the name. My CPPFLAGS variable points to the
> >> > headers I've already installed and my CFLAGS is -w (no warnings). I
> >> > can compile all the files to object no problem with make. The issue
> >> > becomes linking. Building the static library wasn't an issue because
> >> >  all it does is ar and ranlib. But building the dynamic library
> >> > spits  out all kinds of undefined reference errors. However, I nm'd
> >> > the  static library after the error but before make clean and piped
> >> > it  into grep and the symbols WERE in the library. My LDFLAGS are
> >> > "-static -L/usr/local/x86_64-w64-mingw32/lib". That directory
> >> > contains other libraries such as libpthread.a that I built with the
> >> > cross-compiler toolchain. That directory is also in LD_LIBRARY_PATH
> >> > to be extra sure.
> >> >
> >> > The type of linker errors I'm getting persist even without the
> >> > shared lib. i.e. I edited the Makefile (I know I shouldn't do that)
> >> > to remove the target $(SHARED_LIB) from make all and make install. I
> >> >  then built the static lib and ran make install. Now, however, when
> >> > I  try to compile a simple front-end with -lxvidcore, I get the same
> >> >  undefined reference errors even though nm says they're there.
> >> > What's  even weirder is that the error says: libxvidcore.a:
> >> > undefined  reference to ... Not frontend.o: undefined reference to ...
> >> >
> >> > Can someone help me fix this? Thanx.
> >> >
> >> > _______________________________________________
> >> > Xvid-devel mailing list
> >> > Xvid-devel at xvid.org
> >> > http://list.xvid.org/mailman/listinfo/xvid-devel
> >> >
> >> >
> >>
> >>
> >> _______________________________________________
> >> Xvid-devel mailing list
> >> Xvid-devel at xvid.org
> >> http://list.xvid.org/mailman/listinfo/xvid-devel
> >>
> > _______________________________________________
> > Xvid-devel mailing list
> > Xvid-devel at xvid.org
> > http://list.xvid.org/mailman/listinfo/xvid-devel
> >
> >
>
>
>
> _______________________________________________
> Xvid-devel mailing list
> Xvid-devel at xvid.org
> http://list.xvid.org/mailman/listinfo/xvid-devel
>


More information about the Xvid-devel mailing list