This was pretty straightforward for 1.33, but 1.34 using BB2 seems to have changed things a bit. There doesn't seem to be any documentation on compiling 1.34 for x64 with VC++ - can anyone offer some insight?
Cory Nelson wrote:
This was pretty straightforward for 1.33, but 1.34 using BB2 seems to have changed things a bit. There doesn't seem to be any documentation on compiling 1.34 for x64 with VC++ - can anyone offer some insight?
Yea, as with previous Boost.Build versions those options are not documented :-) Just add an "address-model=64" argument when building. -- -- Grafik - Don't Assume Anything -- Redshift Software, Inc. - http://redshift-software.com -- rrivera/acm.org - grafik/redshift-software.com -- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo
Rene Rivera wrote:
Cory Nelson wrote:
This was pretty straightforward for 1.33, but 1.34 using BB2 seems to have changed things a bit. There doesn't seem to be any documentation on compiling 1.34 for x64 with VC++ - can anyone offer some insight?
Yea, as with previous Boost.Build versions those options are not documented :-) Just add an "address-model=64" argument when building.
I get the following error while linking a program with boost_regex: "libboost_regex-vc80-mt-gd-1_34.lib (w32_regex_traits.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'" Are you sure about the parameter "address-model=64"? It seems that bjam ignores wrong arguments (which is bad), so one cannot confirm correct spelling. Maybe it is "address-model=x64", who knows... Isn't there a list of all valid parameters to bjam? -- Sebastian Pfützner s.pfuetzner@onlinehome.de ICQ-ID: 39965036
Sebastian Pfützner wrote:
Rene Rivera wrote:
Cory Nelson wrote:
This was pretty straightforward for 1.33, but 1.34 using BB2 seems to have changed things a bit. There doesn't seem to be any documentation on compiling 1.34 for x64 with VC++ - can anyone offer some insight? Yea, as with previous Boost.Build versions those options are not documented :-) Just add an "address-model=64" argument when building.
I get the following error while linking a program with boost_regex: "libboost_regex-vc80-mt-gd-1_34.lib (w32_regex_traits.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'"
Are you sure about the parameter "address-model=64"?
I'm sure that's the option. What I don't knows is why it isn't working since the Boost Consulting tests are done in in 64 bit mode. You could try using some of the options Dave used in those test http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/BoostConsult...: address-model=64 instruction-set=opteron warnings=off --abbreviate-paths
It seems that bjam ignores wrong arguments (which is bad), so one cannot confirm correct spelling. Maybe it is "address-model=x64", who knows... Isn't there a list of all valid parameters to bjam?
The reference section of the Boost.Build docs explains *some* of the feature/options http://boost.org/doc/html/bbv2/reference.html. But it's incomplete... documentation is never finished :-(
Hi Sebastian ! On Montag 14 Mai 2007, Sebastian Pfützner wrote:
I get the following error while linking a program with boost_regex: "libboost_regex-vc80-mt-gd-1_34.lib (w32_regex_traits.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'"
Could you please post your command line ? Maybe your build is picking up the 32bit version... Those errors are impossible to debug without the _exact_ command lines executed (and response files on windows ...)
Are you sure about the parameter "address-model=64"? It seems that bjam ignores wrong arguments (which is bad), so one cannot confirm correct spelling. Maybe it is "address-model=x64", who knows... Isn't there a list of all valid parameters to bjam?
I've successfully tried "address-model=64" to build the 1.34.0 libraries today. And the dependency walker tells me the binaries are at least non-32bit... Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! Ingenieurgesellschaft für * voice: ++49 511 262926 57 ! Verkehrs- und Eisenbahnwesen mbH * fax : ++49 511 262926 99 ! Lister Straße 15 * juergen.hunold@ivembh.de ! www.ivembh.de * * Geschäftsführer: ! Sitz des Unternehmens: Hannover * Prof. Dr.-Ing. Thomas Siefer ! Amtsgericht Hannover, HRB 56965 * PD Dr.-Ing. Alfons Radtke !
Juergen Hunold schrieb:
Could you please post your command line ? Maybe your build is picking up the 32bit version... Those errors are impossible to debug without the _exact_ command lines executed (and response files on windows ...)
Hello Juergen, thanks for your reply. I use the following command line to build the boost libraries: bjam --toolset=msvc --address-model=64 stage The resulting dlls in the stage\lib directory are 32-bit. They have the same size as the dlls built without the address-model parameter. And the dependency walker shows direct references to dlls inside the windows\syswow64 directory which is the system directory for the 32-bit dlls. (btw. 64-bit dlls resides in the system32 directory, that's the special kind of logic used by microsoft ;) I really need 64-bit boost libraries. If there is no official way, i have to build my own visual studio projects... thanks in advance -- Sebastian Pfützner s.pfuetzner@onlinehome.de ICQ-ID: 39965036
Sebastian Pfützner wrote:
Juergen Hunold schrieb:
Could you please post your command line ? Maybe your build is picking up the 32bit version... Those errors are impossible to debug without the _exact_ command lines executed (and response files on windows ...)
Hello Juergen,
thanks for your reply. I use the following command line to build the boost libraries:
bjam --toolset=msvc --address-model=64 stage
There's no such option "--address-model", please use: bjam --toolset=msvc address-model=64 stage Incidentally, you're a second person that's confused, I've raised issue on boost-build list about that.
The resulting dlls in the stage\lib directory are 32-bit. They have the same size as the dlls built without the address-model parameter. And the dependency walker shows direct references to dlls inside the windows\syswow64 directory which is the system directory for the 32-bit dlls. (btw. 64-bit dlls resides in the system32 directory, that's the special kind of logic used by microsoft ;)
I really need 64-bit boost libraries. If there is no official way, i have to build my own visual studio projects...
Try the above and let me know if that work. - Volodya
Vladimir Prus wrote:
Sebastian Pfützner wrote:
Juergen Hunold schrieb:
Could you please post your command line ? Maybe your build is picking up the 32bit version... Those errors are impossible to debug without the _exact_ command lines executed (and response files on windows ...) Hello Juergen,
thanks for your reply. I use the following command line to build the boost libraries:
bjam --toolset=msvc --address-model=64 stage
There's no such option "--address-model", please use:
bjam --toolset=msvc address-model=64 stage
Incidentally, you're a second person that's confused, I've raised issue on boost-build list about that.
Hello, I tried what you said and get tons of warnings: compile-c-c++ bin.v2\libs\wave\build\msvc-8.0\debug\address-model-64\threading-m ulti\instantiate_cpp_exprgrammar.obj instantiate_cpp_exprgrammar.cpp .\boost/wave/util/flex_string.hpp(100) : warning C4103: 'c:\boost\boost_1_34_0\b oost\wave\util\flex_string.hpp' : alignment changed after including header, may be due to missing #pragma pack(pop) Can I simply ignore them? andreas
participants (6)
-
Andreas Fabri
-
Cory Nelson
-
Juergen Hunold
-
Rene Rivera
-
Sebastian Pfützner
-
Vladimir Prus