none
module machine type 'X86' conflicts with target machine type 'x64'

    Question

  • Hi.. all

    can u pls guide me to solve this error..

    Error    520    fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64' 

    I received this error in   colorspace_rgb_mmx.obj    .

    because in my code i used asm files of colorsapce_mmx.inc for rgb to yuv n' vice verse.

     

     

     

    Saturday, April 02, 2011 6:49 AM

Answers

  • You need to compile this module also with a x64 compiler.

    Each compiler for each processortype creates a specific ASM (binary) code, that runs only on this target... so all modules that are linked together(also libraries) need to have the same target processor type!

    There are also issues when you use managed code, and I think the MSDN article abouthtis message explains it well:
    http://msdn.microsoft.com/en-us/library/21ksa10x(VS.80).aspx


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Saturday, April 02, 2011 9:13 AM
    Moderator

All replies

  • You need to compile this module also with a x64 compiler.

    Each compiler for each processortype creates a specific ASM (binary) code, that runs only on this target... so all modules that are linked together(also libraries) need to have the same target processor type!

    There are also issues when you use managed code, and I think the MSDN article abouthtis message explains it well:
    http://msdn.microsoft.com/en-us/library/21ksa10x(VS.80).aspx


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Saturday, April 02, 2011 9:13 AM
    Moderator
  • I've already compiled with a x64 compiler...

    ..where can i find the 64 bit version of colorspace_mmx.inc ??

     

     

    Saturday, April 02, 2011 11:08 AM
  • Check that your project properties that Linker->advanced you have target architecture x64. Moreover also check that your any file has target architecture in same configuration is same or different. You can check this by going properties of that file. i recommend you to check all colorspace_mmx related cpp or header

    Regards,

     

     

     


    Fahd Anwar
    Saturday, April 02, 2011 11:20 AM
  • 64-bit code does not support inline assembly.

    You have to use intrinsics instead.


    «_Superman_»
    Microsoft MVP (Visual C++)
    Saturday, April 02, 2011 12:37 PM
  • Hi,

     can u pls explain more....m couldn't get u exactly...

     

    thanx a lot.

     

    Sunday, April 03, 2011 9:14 AM
  • in properties of a particular file how can i find the target architecture ?

    pls guide..

    -> colorspace_mmx.inc is in assembly....

     

    Sunday, April 03, 2011 2:07 PM
  • Hi PARiiY

    >>I've already compiled with a x64 compiler...

    >>..where can i find the 64 bit version of colorspace_mmx.inc ??

     

    The asm file Colorspace_mmx.inc comes from xvidcore library. Since this library is not supported by Microsoft, we don’t know whether there exists a 64bit version. Generally, for building a 64 bit application, we need to compile all components as 64bit, which is already mentioned here.

     

    The library xvidcore is released by Xvid.org, I recommend you to consult with the author of the library and check if they offer some 64 bit release.

     

    Cheers,

    Yi

     

     

     


    Yi Feng Li [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Wednesday, April 06, 2011 5:52 AM
    Moderator