I am building xerces 2.6.0 on Windows 7 using MinGW. I am using cygwin. I am not using msys. I use the following to configure:
sh runConfigure -p mingw-msys -c gcc -x g++ -C -host=i686-mingw32 -nfileonly -rnone When I tried to set my XERCESCROOT variable to C:\build\xerces-c-src_2_6_0, make failed with the message: Makefile:75: *** target pattern contains no `%'. Stop. I then set my XERCESCROOT variable to /cygdrive/c/build/xerces-c-src_2_6_0. In this case, the make got further, but I got this failure: g++ -DMINGW -fexceptions -D__GNUWIN32__ -DWIN32 -D_WINDOWS -DNDEBUG -DPLATFORM_WIN32 -c -I/cygdrive/c/final_xerces/xerces-c-src_2_6_0/include -w -O -DPROJ_XMLPARSER -DPROJ_XMLUTIL -DPROJ_PARSERS -DPROJ_SAX4C -DPROJ_SAX2 -DPROJ_DOM -DPROJ_DEPRECATED_DOM -DPROJ_VALIDATORS -DXML_USE_CYGWIN_TRANSCODER -DXML_USE_INMEM_MESSAGELOADER -DAPP_NO_THREADS -DXML_USE_NO_THREADS -o /cygdrive/c/final_xerces/xerces-c-src_2_6_0/obj/MINGW/Base64.o Base64.cpp Base64.cpp:84:35: fatal error: xercesc/util/Base64.hpp: No such file or directory compilation terminated. The only way I could get around this was to set my XERCESCROOT to \\build\\xerces-src-c_2_6_0 <file:///\\build\xerces-src-c_2_6_0> . Is there a way I can make this work by either using C:\build\xerces-src-c_2_6_0 or /cygdrive/c/build/xerces-c-src_2_6_0? My problem is that I am trying to do this within another makefile, and I cannot just hardcode the XERCESCROOT variable. I can use PWD in my makefile, but I have not been able to figure out a way to change the string. I run like this: sh build-win.mak In build-win.make, I have export XERCESCROOT=$PWD/xerces-c-src_2_6_0 When I echo this out, it has the /cygwin/c format. So I tried: $(subst /cygwin/c,\\,$XERCESCROOT) but this tells me that subst is an unknown command. Any help would be greatly appreciated! Thank you! -Cheryl