You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was tackling an issue attempting to compile Boost 1.66.0 through QNX SDP 7.0 to target the x86_64 target. I discovered that the -V switch wasn't being inserted into the q++ command line when different architecture or address model settings are passed into B2.
A similar issue was raised last year (issue #339) but the solution is not satisfactory as simply passing the -V flag through the compileflags and linkflags properties will be ignored when creating static libraries.
I ended up retrofitting tools/qcc.jam with the following changes to make it work correctly.
NOTE: line numbers applying to the current version of the file, not the version in 1.66.0.
Modified the line in the archive action (line 226):
From: "$(CONFIG_COMMAND)" -A "$(<)" "$(>)"
To: "$(CONFIG_COMMAND)" $(OPTIONS) -A "$(<)" "$(>)"
The last change is the most important as it was inadvertently calling the 32-bit version of ar to archive object files compiled through the 64-bit version of gcc.
The text was updated successfully, but these errors were encountered:
Thank you for your contributions. Main development of B2 has moved to https://github.com/bfgroup/b2
This issue has been automatically marked as "transition" to indicate the potential for needing transition to the new B2 development project.
I was tackling an issue attempting to compile Boost 1.66.0 through QNX SDP 7.0 to target the x86_64 target. I discovered that the -V switch wasn't being inserted into the q++ command line when different architecture or address model settings are passed into B2.
A similar issue was raised last year (issue #339) but the solution is not satisfactory as simply passing the -V flag through the compileflags and linkflags properties will be ignored when creating static libraries.
I ended up retrofitting tools/qcc.jam with the following changes to make it work correctly.
NOTE: line numbers applying to the current version of the file, not the version in 1.66.0.
Below line 80:
Below line 173:
Below line 212:
Modified the line in the archive action (line 226):
From:
"$(CONFIG_COMMAND)" -A "$(<)" "$(>)"
To:
"$(CONFIG_COMMAND)" $(OPTIONS) -A "$(<)" "$(>)"
The last change is the most important as it was inadvertently calling the 32-bit version of ar to archive object files compiled through the 64-bit version of gcc.
The text was updated successfully, but these errors were encountered: