Menu

VC 64 bit builds 32 bit libs

2009-12-01
2013-06-03
  • Lawrence Perepolkin

    I build boost libs for VC 64.
    I getting this link error:
    libboost_log-vc90-mt-1_41.lib(process_id.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
    Looks like boost_log builds in 32 bit.
    All the other boost libs are 64 bit.
    What do I need to do to get boost_log to link with a 64 bit build?

     
  • Andrey Semashev

    Andrey Semashev - 2009-12-01

    Have you passed "address-model=64" to bjam while building Boost.Log?

     
  • Lawrence Perepolkin

    Yes,  I did passed "address-model=64" to bjam.

     
  • Andrey Semashev

    Andrey Semashev - 2009-12-02

    Hmm, that's odd.

    I won't be able to build the library on Windows x64 this week, so this'll take some time. Could you create a Trac ticket for this issue? Please attach a full build log (with compiler switches) and also state which compiler and Boost version do you use.

     
  • Lawrence Perepolkin

    The full build log is too large 3,020 KB.
    I noticed some other issues now.
    Boost.log is not building all the libs when "address-model=64" is set.
    VC 64 seems to build them all when address-model=64 is not on the command line.
    I do not need  to specify "address-model=64" for the other boost libs?
    Hmm..

     
  • Andrey Semashev

    Andrey Semashev - 2009-12-03

    > The full build log is too large 3,020 KB.

    You can attach files to Trac tickets.

    > Boost.log is not building all the libs when "address-model=64" is set. VC 64 seems to build them all when address-model=64 is not on the command line. I do not need to specify "address-model=64" for the other boost libs?

    Building dependencies are resolved by bjam and Boost.Build base rules. These dependencies are the same for both address models, so I don't think this is a problem with Boost.Log. This is either a problem with Boost.Build or some local misconfiguration.

    Also, do you use native x64 compiler or x86-x64 cross-compiler? Native x64 compiler is not supported by bjam, try cross-compiler instead.

     
  • MuTPu4

    MuTPu4 - 2009-12-04

    I am getting the same issue with VC 9.0 32bit cross-compiler and VC 9.0 64bit under Windows Server 2008. Didn't have much time to look into it but it seems that text_ostream_backend.obj is broken somehow in spite of correct compilation command line. I had moved all of it's code into header and forced x64 link and it worked.

     
  • Andrey Semashev

    Andrey Semashev - 2009-12-07

    I've fixed an x64 compatibility issue, the library compiles for me now.

     

Log in to post a comment.