Re: [Boost-users] msvc 64-bit test targets vs. manifest files
Posted to boost build list without any reply. Now trying boost users:
For several years I have been working with a set of libraries, built with boost build and dependent upon some boost libraries. I've been working on a 32-bit machine, but I have occasionally been building 64-bit targets to try to help support clients who will be using my library on 64-bit machines. My suite of boost-build test targets (unit-test, run, etc.) for my lib is a bit inconvenient when on 32 bit machines, since I get an error dialog each time I build, but sometimes I want to test as much as possible. The commands I use to build (msvc 9) are:
## 32 bit bjam msvc debug
## 64 bit bjam msvc debug architecture=x86 address-model=64 define=BOOST_DISABLE_ABI_HEADERS
Yesterday, I tried to build/run the 64 bit targets for the same files using the same invocation on a 64-bit Vista machine. I thought that perhaps my code would exhibit some 64-bit run-time issues, but things didn't go that far. Instead, I got manifest/DLL-related problems for each test. Here is an example of the error that I receive each time boost build tries to run a built artifact:
====== BEGIN OUTPUT ====== The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.
EXIT STATUS: 14001 ====== END OUTPUT ======
The corresponding Application Event Log Entry is:
Activation context generation failed for "c:\asl\staff\mmarcus\sandbox\built_artifacts\documentation\examples\enum_ops_example.test\msvc-9.0\debug\address-model-64\architecture-x86\link-static\threading-multi\enum_ops_example.exe". Dependent Assembly Microsoft.VC90.DebugCRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8" could not be found. Please use sxstrace.exe for detailed diagnosis.
Can someone suggest a workaround or a patch? Thanks, Mat
participants (1)
-
Mat Marcus