Are you sure these libraries were all compiled with VS10? I'm quite sure they're not. For example the freetype page mentions the msvc 6 runtime dll's. There is no guarantee in C++ that object files from different compilers will work together, so mixing vs6 and vs8 object files is almost sure to not work.
So, compile everything from source, using my instructions on the wiki (I posted the link yesterday or so - or maybe it was on -devel). It's virtually impossible to get C++ programs to work from binary libraries. Don't bother trying until you know about all the details and how the compilers work. When you compile all these things from source, make sure to use the same settings for each project: runtime libary, usage of SECURE_CRT, what version of the crt to use, etc. Again, I don't recommend trying unless you already know how to work with VS. Also, this has nothing to do with VS. It's just how C++ works. I know it's fashionable to dislike VS, but the fact of the matter is that it's universal that things only work when one knows how to work with them. cheers, roel On Tue, Apr 5, 2011 at 7:18 PM, William Johnston <[email protected]> wrote: > Well, I didn't compile any of the libraries. I got precompiled versions for > Windows: > > Mapnik 0.7.1: > http://prdownload.berlios.de/mapnik/mapnik-0.7.1-win32-py25_26.zip > Boost 1.46.1: http://www.boostpro.com/download/ > ICU4C 4.6.1: http://site.icu-project.org/download > GNU Libtool 1.5.26: http://gnuwin32.sourceforge.net/packages/libtool.htm > Freetype 2.3.6: http://gnuwin32.sourceforge.net/packages/freetype.htm > > > In Visual Studios I started with an empty project. I changed only the > project settings having to do with finding the right libraries and include > files. > Here are some of the project settings that might be relevant: > Character Set ------- Use Multi-Byte Character Set > Runtime library ----- Multi-threaded DLL > > Changing the "Character set" to "Use Unicode Character Set" didn't change > anything. > Changing the "Runtime library" to "Multi-threaded Debug DLL" caused the > program to crash at a later point: > m.insert_style("provinces",provpoly_style); > > I fiddled with a bunch of other setting, but nothing worked. > > I would like to take this moment to say that I have always hated Visual > Studios. > > > > On 4/5/2011 4:55 AM, Roel Vanhout wrote: >> >> Looks like an issue between ANSI and Unicode strings (in the MSVC >> sense, i.e. single- vs multibyte strings). >> >> How did you compile things? Build everything (including boost) from >> source? What VS project files do you use? >> >> >> On Tue, Apr 5, 2011 at 2:51 AM, William Johnston<[email protected]> >> wrote: >>> >>> I'm using VS 2010 and Mapnik 0.7.1 and compiling to 32 bits. >>> >>> When I run rundemo.exe I get this: >>> >>> Z:\SoftwareDevelopment\c++\Mapnik\Release>a >>> Z:\SoftwareDevelopment\c++\Mapnik\ma >>> pnik-0.7.1\lib\mapnik >>> running demo ... >>> looking for 'shape.input' plugin in... >>> Z:\SoftwareDevelopment\c++\Mapnik\mapnik >>> -0.7.1\lib\mapnik/input/ >>> looking for DejaVuSans font in... >>> Z:\SoftwareDevelopment\c++\Mapnik\mapnik-0.7. >>> 1\lib\mapnik/fonts/DejaVuSans.ttf >>> ### Configuration error: Failed to parse filter expression: >>> rundemo Z:\SoftwareDevelopment >>> Parsing aborted at 'r' >>> >>> It's trying to parse the command line. If I change rundemo.exe to a.exe >>> and >>> rerun it I get: >>> >>> Z:\SoftwareDevelopment\c++\Mapnik\Release>a >>> Z:\SoftwareDevelopment\c++\Mapnik\ma >>> pnik-0.7.1\lib\mapnik >>> running demo ... >>> looking for 'shape.input' plugin in... >>> Z:\SoftwareDevelopment\c++\Mapnik\mapnik >>> -0.7.1\lib\mapnik/input/ >>> looking for DejaVuSans font in... >>> Z:\SoftwareDevelopment\c++\Mapnik\mapnik-0.7. >>> 1\lib\mapnik/fonts/DejaVuSans.ttf >>> here### Configuration error: Failed to parse filter expression: >>> a Z:\SoftwareDevelopment\c++\M >>> Parsing aborted at 'a' >>> >>> The error is caused by this line: >>> provpoly_rule_on.set_filter("[NAME_EN] = 'Ontario'"); >>> >>> My understanding is that it is supposed to be parsing "[NAME_EN] = >>> 'Ontario'" rather than the run command. >>> >>> If I change the line to be these two lines: >>> >>> std::string test("[NAME_EN] = 'Ontario'"); >>> provpoly_rule_on.set_filter(create_filter(test)); >>> >>> I get: >>> Z:\SoftwareDevelopment\c++\Mapnik\Release>Mapnik >>> C:\mapnik-0.7.1\lib\mapnik >>> running demo ... >>> looking for 'shape.input' plugin in... >>> Z:\SoftwareDevelopment\c++\Mapnik\mapnik >>> -0.7.1\lib\mapnik/input/ >>> looking for DejaVuSans font in... >>> C:\mapnik-0.7.1\lib\mapnik/fonts/DejaVuSans.t >>> tf >>> ### Configuration error: Failed to parse filter expression: >>> ،n >>> >>> Even weirder. >>> >>> The peer line in rundemo.py works fine. >>> >>> This error make no logical sense. My current thinking is that there is >>> something wrong with mapnik.dll >>> or mapnik.lib. >>> >>> Does anyone have any experience with this? >>> >>> >>> _______________________________________________ >>> Mapnik-users mailing list >>> [email protected] >>> https://lists.berlios.de/mailman/listinfo/mapnik-users >>> > _______________________________________________ Mapnik-users mailing list [email protected] https://lists.berlios.de/mailman/listinfo/mapnik-users

