Re: Linked errors cross-compiling for x64 Windows on x64 Linux
Leo Izen <[email protected]> Wed, 16 Feb 2011 16:40:08 -0500
| Newsgroups | gmane.comp.video.xvid.devel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Feb 16, 2011 at 8:03 AM, Michael Militzer <[email protected]> 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@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@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 <[email protected]>: > > > On Wed, Feb 16, 2011 at 5:07 AM, Michael Militzer <[email protected]> > 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 <[email protected]>: > >> > >> > 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 > >> > [email protected] > >> > http://list.xvid.org/mailman/listinfo/xvid-devel > >> > > >> > > >> > >> > >> _______________________________________________ > >> Xvid-devel mailing list > >> [email protected] > >> http://list.xvid.org/mailman/listinfo/xvid-devel > >> > > _______________________________________________ > > Xvid-devel mailing list > > [email protected] > > http://list.xvid.org/mailman/listinfo/xvid-devel > > > > > > > > _______________________________________________ > Xvid-devel mailing list > [email protected] > http://list.xvid.org/mailman/listinfo/xvid-devel >