RE: [boost] More on Serialization Link Issue

This is almost surely an issue of the library build settings out of sync with the program build settings. The included VC7 IDE projects might be out of sync with the bjam builds. here are some other things to try
a) from with in the serialization/test directory, invoke the batch file with the argument vc-7_1 . This should build all the libraries, demos and tests for the serialization libary with a consistent set of settings. b) If the above works, move the libraries from where they are build boostdir/bin/... etc to you favorite local spot and alter thid IDE projects to point to them. c) Note that I have found that the IDE projects with the VC 7.1 IDE often report a non-sensical error when I try to bring them up. This can be fixed by going to the build menu item and selecting configuration setup and explictly selectinga configureuation. The problem then goes away for a while. Its an VC IDE thing.
I built out everything in test as suggested (there were a few that failed, but don't appear to be related). I then took the library built in libs\serialization\build\libboost_serialization.lib\vc-7_1\debug\threading-multi and moved it to my build location. I ended up getting the same failure. To make sure that my build was picking up the library at link, I added it as a resource to the project, and it continued to have the failure (so I'm sure my project is linking to the library). Is there any more information I could give you about my setup that might help? Jared

Well, it doesn't look like you're inclined to give up so I guess we can't either. Jared McIntyre wrote:
I built out everything in test as suggested (there were a few that failed, but don't appear to be related).
Do I take this to mean that almost all the tests (200+) compiled, linked, and executed with no error?
I then took the library built in
libs\serialization\build\libboost_serialization.lib\vc-7_1\debug\threading-m ulti
and moved it to my build location. I ended up getting the same failure. To make sure that my build was picking up the library at link, I added it as a resource to the project, and it continued to have the failure (so I'm sure my project is linking to the library). Is there any more information I could give you about my setup that might help?
OK the way I do it in the IDE is the following: Bring up the project properties page for your project. check the following settings: General 1) Configuration Type: Application(.exe) 2) Use of MFC: Use Standard Windows Libraries 3) Use of ATL: Not using ATL C/C++ 1) General Additional Include Directories - the directory that contains boost headers 3) Preprocessor: Preprocessor definitions - WIN32;_DEBUG;_CONSOLE 4) Code Generation Enable C++ Exceptions - Yes(/EHsc) Runtime Library - Multi-threaded Debug DLL - note the DLL ! ( I suspect this is the problem) Enable Function-level Linking - Yes(/Gy) I prefer this myself but not strictly necessary 5) Language Enable Run-Time type info - Yes (/GR) Linker 1) General Additional Library Directories - <directory that contains the serialization library here> 2) Input Additional Dependencies - libboost_serialization.lib I would hope that those settings should do it. To make sure its finding the correct libboost_serialization.lib - change the name of this file. It should come up with an error at link time - can't find file libbost_serialization.lib. Changing this name back should make this error go away. The program should now compile !? Good Luck. Robert Ramey P.S. The next version of the serialization library implements auto-link functionality which may aleviate this sort of difficulty in the future. RR
participants (2)
-
Jared McIntyre
-
Robert Ramey