I have recently downloaded the Dev-Cpp compiler, and it works OK with the example files supplied in the package.
My intended project is to use the compiler to produce exes based on a third-party library, the libmusicxml.lib based on the MusicXML package from Recordare.
I run the compiler on a Vista machine, which meant some extra headaches, but a message on the Bloodshed Software Forum fixed that (full paths are needed in the compiler directories area). However, it seems I can't get the library linking information right. What makes me confused is that the four errors reported are related to temporary files obviously, those files being coughed up by the compiler/linker, I suppose.
Another thing: the library file is called "staticMusicXML.lib" in the distribution, and I have attempted, foolishly or not, to make it comply with the Dev-Cpp library files by renaming it, and putting it in the Dev-Cpp library directory itself.
Clifford,
This is the Big Day: Everything finally worked! Not without a lot of false starts and misunderstandings, but worked it did. A non-bloated library (of 7 meg, as I haven't applied optimization yet), and (after...) I got that sample file to compile properly, and I looked at it admiringly in MSIE, and I printed it to a file and ran it in Finale, and...
OK, no reason for you to read more of this, but I would like to give you a short synopsis of what it is all about, and why I am so desperately keen to get this library to work. First of all, I am an old customer regarding small computers, starting out in the early 1980-ies with CPM 80, gradually edging into Dos, and then all that hoopla that came after it. (I'm grateful to Bill though, as he singlehandedly has created a huge set of truly wonderful tools.)
So, I attempted programming from the start (Basic, C, Pascal, C++), but — as you know better tha most — I'm a rank amateur. Also amateurs have dreams, though. My most persistent one is to teach the computer to compose music. For a couple of decades I spent an amazing amount of time on Midi programming. My idea was to find out how much of ordering was necessary to transform a totally random stream of notes into something interesting to listen to. — For short: when the jury reappeared it said decreed that random sequences are always boring. — By the way I used the Borland Turbo C++ almost exclusively for those Midi windmill joustings I spent so much time on. What I really did, I see with hindsight, was to think a lot about music as such, about the way good music is put together, the handiwork of it all. One specific problem I never got to grips with successfully was to print out the sheet music from my files, to be able to find performers willing to test my stuff. Another thing was, that by using bare Midi, I had to put too much effort in creating a system that was easy to handle from a musical point of view.
On retiring, I lost a decade on finding me a house, settling in a new community, and orienting myself in the final etappe of ones life. Gradually the old ache came back, and I was dreaming nights about renewed programming efforts. Last autumn I suddenly realized I shouldn't restart my old project. I should scrounge around for what new tools and practices might have appeared during my programming hiatus.
I was looking idly at the Finale packages (software for printing sheet music properly) when I stumbled on MusicXML. Finale uses MusicXML for various purposes, and I had this revelation, that if I were capable of fixing a rather simple programming chore, producing text in that MusicXML format, I could use Finale to print the stuff, and also to play it for me. The cap stone was reading about the MusicXML library for C++. It should enable me to spend all my effort on the purely musical aspects, without having to re-invent the wheel regarding the syntactical structuring of code to write those long reams of text characteristic of MusicXML (you saw it in the RandomMusic output).
Anyway, all those frustrations we had before we reached the present technical platform, well, they may be didn't bring me to the brink of death, but boy, was I desperate (which did no good to my concentration). So now I look forward to many years (Inch' Allah) of happy computing of (probably) frightful music, all made possible by your tenacity and good will. I am more impressed with your will to give service than you possibly can perceive.
Yours, in gratefulness,
Torbjörn
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You might be interested in "The Method" a computer generated music project by Pete Townshend (or The Who) and mathematician/composer Lawrence Ball. http://www.lifehouse-method.com
Clifford
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>> the library file is called "staticMusicXML.lib" in the distribution,
So it may not a be MinGW/GCC compatible library.
>> and I have attempted, foolishly or not, to make it comply with the
>> Dev-Cpp library files by renaming it,
Matching the naming convention does not change the format of the file itself!
>> and putting it in the Dev-Cpp library directory itself.
No need to do that, and not really a good idea.
The -L option is to specify library folders, not the libraries themselves. If the library name is of the form libXXX.a and is in a path specified by a -L option, you can link it with -lXXX (lowercase-L). Otherwise you can simply specify the library path fully with no switch (note you can do this by clicking the "Add library for object file button in the project options dialog).
So even if the library is of the right format, you never actually succeeded in linking it correctly in any case - try that first. In this case "-lstaticMusicXML".
I can find no reference to staticMusicXML.lib on Recordare's web site, which seems to have only standard's documentation, not any actual library; post a link so we can see what you are working with.
Clifford
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks, Clifford. I tried to use "-lstaticMusicXML", but no dice.
I'm sorry I didn't indicate the library origin explicitly. No, Recordare didn't write it, a French company did, based on the MusicXML definition from Recordare. I down-loaded the library (like Dev-Cpp) from SourceForge.net. Easiest way to find it is to search for "MusicXML", and you will find the library in pole position in the 16-item list.
It would be decouraging to find that the library isn't compatible with Dev-Cpp, as it will mean I have to look for another compiler (or language, and then having to work up from scratch), and my resources are meager. Still, my motivation is strong.
Torbjorn
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>> Thanks, Clifford. I tried to use "-lstaticMusicXML", but no dice.
Then re-post the log! We may still be able to help, and the log where show if you correctly configured the project and may indicate what to do next.
>> Easiest way to find it is to search for "MusicXML"
No! The easiest thing for me would be for you to have posted the link! I'll wager too that it would have been easier for you to to that than it was to type instructions! Of the many possible downloads for the project, I don't know which you are using - and that may make a difference!
Taking a look at the Win32 distribution lib file itself, it does actually appear to be a GNU library, but it may have been built using Cygwin, which may prevent it from working, even if you could link it. The distribution also has a DLL version, it looks like the code is C++ which may cause further problems (depending on the compiler used to build it). The project is open source, so the simple solution is to rebuild the code from source into your own static library.
It beats me why those distributing binary libraries don't realise that it is necessary to specify what it was build with. I guess it stems from the Linux origins where everything is built with GNU tools is a fair assumption.
Clifford
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Clifford,
I hope you had pleasant holidays. They put a spanner in my routines though, but I put in a lot of time attempting to make a static library out of the source code for it I downloaded from SourceForge. As you may remember my problem started with my inability to link to a library called the MusicXML Library, written by Grame Research Laboratory in Lyon, France, based on the MusicXML package from Recordare. You had a testing time before Christmas trying to beat some clear thinking into my aged skull (73), and the end result, as far as I can judge it, is that the Bloodshed DEV-CPP compiler and that library don't mix. May be it would be an idea for me to contact the French company about the library, how they compiled it, and with what tools? What specific questions should I ask them? (Ultimately to help me using their product as it is distributed.)
What interested me most in your final comments before the holidays was, that if the source code for the library is available — which it is — it should be a fairly easy job to make a static library from it (with DEV-CPP I gather), and use that instead. So, I downloaded the library source from SourceForge and had a go at doing the compilation to object files, to run ar to make the archive, and to index it. I managed to produce a handful of object files, and ar worked fine as far as I understand, but the compiler puked up several of the source files and didn't succeed in making object files out of them. Also there are more kinds of files in there than I expected. To ask a stupid question: is one expected to start by making a project in order to compile the stuff into object files? Should one use an include file to tell the compiler what to do?
So, my conclusion is that I am too much of an amateur to fix this as things stand today. Is there somewhere a detailed tutorial or a book, or something that could teach me the handiwork? I probably start off from the wrong foot. I really don't know jack about the standard procedure in this.
From a concerned amateur programmer,
Yours, Torbjörn.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There is a static library project template that will compile multiple sources and build the archive for you. Of course with third-party code things are often not that simple.
I have finally figured out how to extract the source (had to rename the file extracted from .tgz with .tar for my tool to recognise it). It has a VC++ 6 project file in the Windows folder. You can build these with the free VC++ 2005 or 2008 Express Edition, but you'll have to use that for everything else as well (which is not a bad idea).
I loaded it into VC++2005 and it built with a couple of warnings (which could be easily fixed). It looks like a simple build, staticMusicXML comprises the files in the "core" and "visitors" folders. The other folders under src appear to be example projects or build files for other platforms. One of the examples (clefChange) did not load, VC++ said it was corrupted.
I have attempted to create a Dev-C++ static library project with some success. TXML2GuidoVisitor.cpp does not compile, and I have not yet determined why. If you want to try my build (I have not tested it). Create a plain text file called libstaticMusicXML.dev in ..\libmusicxml-1.09-src\src\windows\staticMusicXML\ and copy to it the text below. Save the file and then load it as a Dev-C++ project. I have disabled compilation of the troublesome TXML2GuidoVisitor.cpp, to re-enable it set Compile and link to 1 in [Unit54] below:
Clifford, you really are a Cyber-space Good Samaritarian! What I appreciate most is your patience, and your willingness to be liberal with the good old elbow-grease.
OK, I tried using your ready-made project file for Dev-Cpp, and it seems to have worked. The thing compiled peacefully, and in the end I had a 30-meg+ lib file, libstaticMusicXML.a. In itself that is very heartening.
Then I — of course — made haste to try it out by attempting to compile one of those example files you noticed, files sent with the original library, one called RandomMusic.cpp. I tried manfully to check that I had told the computer-linker where to find include and lib files. It seems the linker can't find the library though. I created a new project for a Win exe, attaching the .cpp file. There is a slew of linker errors, so I seem to have botched things up as usual.
May I test your forbearance once more by looking at the compile log? I of course still have that new lib file in ..src/windows/staticMusicXML/libstaticMusicXML.a
Compiler: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Executing make clean
rm -f XML_lib_src/libmusicxml-1.09-src/src/samples/main.o XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o test_lib_randmusic.exe
OK at Optimisation level 2 and no debug the library comes in at under 4Mb.
Now, looking at RandomMusic.cpp it seems that it is intended to be compiled as a console app - it has main() rather than WinMain() as its entry point.
The prefix _imp___ on the missing symbols indicates that the RandomMisic.o file was compiled to expect the functions as DLL imports. To fix this you have to define the macros MXMLSTATIC and VXMLSTATIC as I did for the library build. Do this by adding -DMXMLSTATIC -DVXMLSTATIC to the project's C++ compile options. Then do a Rebuild All to force RandomMusic.o recompilation.
In your build you will also want to remove the default main.cpp and have just RandomMusic.cpp (otherwise your code will have two entry points!)
All that done it should work (I tested it this time). Looks like you are good to go so long as you don't need anything from TXML2GuidoVisitor. I really don't think I will have time to fathom that one right now.
I have no idea what the program or library are for but when executed it squirts a whole load of XML to stdout. To capture the output to a file you will have to run it from a command line console thus:
RandomMusic >RandomMusic.xml
The resulting RandomMusic.xml file looks like this:
... Oh and guess what!? I have just figured out that the MXMLSTATIC and VXMLSTATIC macro thing may have been your only problem in the first instance! You could probably use the original library once you have those set so that the headers match the library!
Doh!
Still I have to take a good look at the source to figure that one out!
Clifford
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have recently downloaded the Dev-Cpp compiler, and it works OK with the example files supplied in the package.
My intended project is to use the compiler to produce exes based on a third-party library, the libmusicxml.lib based on the MusicXML package from Recordare.
I run the compiler on a Vista machine, which meant some extra headaches, but a message on the Bloodshed Software Forum fixed that (full paths are needed in the compiler directories area). However, it seems I can't get the library linking information right. What makes me confused is that the four errors reported are related to temporary files obviously, those files being coughed up by the compiler/linker, I suppose.
Another thing: the library file is called "staticMusicXML.lib" in the distribution, and I have attempted, foolishly or not, to make it comply with the Dev-Cpp library files by renaming it, and putting it in the Dev-Cpp library directory itself.
===================================================================================================================
Anyway, here is the compiler log (I only grouped the various things for better legibility):
Compiler: Default compiler
Executing c:\dev-cpp\bin\g++.exe...
c:\dev-cpp\bin\g++.exe
"C:\Users\TH\MusicXML_C++\libmusicxml-1.09-win32\samples\ReadWrite.cpp"
-o "C:\Users\TH\MusicXML_C++\libmusicxml-1.09-win32\samples\ReadWrite.exe" -g3
-I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"
-I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"
-I"C:\Dev-Cpp\include\c++\3.4.2"
-I"C:\Dev-Cpp\include"
-I"C:\Users\TH\MusicXML_C++\libmusicxml-1.09-win32\include"
-L"C:\Dev-Cpp\lib" "C:\Dev-Cpp\lib\libstaticMusicXML.a" -g3
C:\Users\TH\AppData\Local\Temp/cce8baaa.o(.text+0x1e2): In function `main':
C:/Users/TH/MusicXML_C++/libmusicxml-1.09-win32/samples/ReadWrite.cpp:25: undefined reference to
_imp___ZN8MusicXML13TMusicXMLFile4readERKSs' C:\Users\TH\AppData\Local\Temp/cce8baaa.o(.text+0x2b5):C:/Users/TH/MusicXML_C++/libmusicxml-1.09-win32/samples/ReadWrite.cpp:29: undefined reference to
_impZN8MusicXML13TMusicXMLFile5writeE6SMARTPINS6TScoreEERSo'C:\Users\TH\AppData\Local\Temp/cce8baaa.o(.text$_ZN6SMARTPIN8MusicXML6TScoreEED1Ev[SMARTP<MusicXML::TScore>::~SMARTP()]+0x1a): In function
ZNK6SMARTPIN8MusicXML6TScoreEEcvPS1_Ev': C:/Users/TH/MusicXML_C++/libmusicxml-1.09-win32/include/smartpointer.h: undefined reference to
_imp_ZN9smartable15removeReferenceEv'collect2: ld returned 1 exit statusExecution terminated
==================================================================================================================
Here is another, where I simply changed the library linking information (to no avail):
Compiler: Default compiler
Executing c:\dev-cpp\bin\g++.exe...
c:\dev-cpp\bin\g++.exe "C:\Users\TH\MusicXML_C++\libmusicxml-1.09-win32\samples\ReadWrite.cpp" -o "C:\Users\TH\MusicXML_C++\libmusicxml-1.09-win32\samples\ReadWrite.exe" -g3 -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -I"C:\Users\TH\MusicXML_C++\libmusicxml-1.09-win32\include" -L"C:\Dev-Cpp\lib" -L"C:\Users\TH\MusicXML_C++\libmusicxml-1.09-win32" -g3
C:\Users\TH\AppData\Local\Temp/ccsvcaaa.o(.text+0x1e2): In function
main': C:/Users/TH/MusicXML_C++/libmusicxml-1.09-win32/samples/ReadWrite.cpp:25: undefined reference to
_impZN8MusicXML13TMusicXMLFile4readERKSs'C:\Users\TH\AppData\Local\Temp/ccsvcaaa.o(.text+0x2b5):C:/Users/TH/MusicXMLC++/libmusicxml-1.09-win32/samples/ReadWrite.cpp:29: undefined reference to
_imp___ZN8MusicXML13TMusicXMLFile5writeE6SMARTPINS_6TScoreEERSo' C:\Users\TH\AppData\Local\Temp/ccsvcaaa.o(.text$_ZN6SMARTPIN8MusicXML6TScoreEED1Ev[SMARTP<MusicXML::TScore>::~SMARTP()]+0x1a): In function
ZNK6SMARTPIN8MusicXML6TScoreEEcvPS1_Ev':C:/Users/TH/MusicXML_C++/libmusicxml-1.09-win32/include/smartpointer.h: undefined reference to `_imp_ZN9smartable15removeReferenceEv'
collect2: ld returned 1 exit statusExecution terminated
=================================================================================================================
Regards,
Torbjorn Hogvall
t.hogvall@mbox317.swipnet.se
Clifford,
This is the Big Day: Everything finally worked! Not without a lot of false starts and misunderstandings, but worked it did. A non-bloated library (of 7 meg, as I haven't applied optimization yet), and (after...) I got that sample file to compile properly, and I looked at it admiringly in MSIE, and I printed it to a file and ran it in Finale, and...
OK, no reason for you to read more of this, but I would like to give you a short synopsis of what it is all about, and why I am so desperately keen to get this library to work. First of all, I am an old customer regarding small computers, starting out in the early 1980-ies with CPM 80, gradually edging into Dos, and then all that hoopla that came after it. (I'm grateful to Bill though, as he singlehandedly has created a huge set of truly wonderful tools.)
So, I attempted programming from the start (Basic, C, Pascal, C++), but — as you know better tha most — I'm a rank amateur. Also amateurs have dreams, though. My most persistent one is to teach the computer to compose music. For a couple of decades I spent an amazing amount of time on Midi programming. My idea was to find out how much of ordering was necessary to transform a totally random stream of notes into something interesting to listen to. — For short: when the jury reappeared it said decreed that random sequences are always boring. — By the way I used the Borland Turbo C++ almost exclusively for those Midi windmill joustings I spent so much time on. What I really did, I see with hindsight, was to think a lot about music as such, about the way good music is put together, the handiwork of it all. One specific problem I never got to grips with successfully was to print out the sheet music from my files, to be able to find performers willing to test my stuff. Another thing was, that by using bare Midi, I had to put too much effort in creating a system that was easy to handle from a musical point of view.
On retiring, I lost a decade on finding me a house, settling in a new community, and orienting myself in the final etappe of ones life. Gradually the old ache came back, and I was dreaming nights about renewed programming efforts. Last autumn I suddenly realized I shouldn't restart my old project. I should scrounge around for what new tools and practices might have appeared during my programming hiatus.
I was looking idly at the Finale packages (software for printing sheet music properly) when I stumbled on MusicXML. Finale uses MusicXML for various purposes, and I had this revelation, that if I were capable of fixing a rather simple programming chore, producing text in that MusicXML format, I could use Finale to print the stuff, and also to play it for me. The cap stone was reading about the MusicXML library for C++. It should enable me to spend all my effort on the purely musical aspects, without having to re-invent the wheel regarding the syntactical structuring of code to write those long reams of text characteristic of MusicXML (you saw it in the RandomMusic output).
Anyway, all those frustrations we had before we reached the present technical platform, well, they may be didn't bring me to the brink of death, but boy, was I desperate (which did no good to my concentration). So now I look forward to many years (Inch' Allah) of happy computing of (probably) frightful music, all made possible by your tenacity and good will. I am more impressed with your will to give service than you possibly can perceive.
Yours, in gratefulness,
Torbjörn
Now it all makes more sense.
You might be interested in "The Method" a computer generated music project by Pete Townshend (or The Who) and mathematician/composer Lawrence Ball. http://www.lifehouse-method.com
Clifford
>> the library file is called "staticMusicXML.lib" in the distribution,
So it may not a be MinGW/GCC compatible library.
>> and I have attempted, foolishly or not, to make it comply with the
>> Dev-Cpp library files by renaming it,
Matching the naming convention does not change the format of the file itself!
>> and putting it in the Dev-Cpp library directory itself.
No need to do that, and not really a good idea.
>> -L"C:\Dev-Cpp\lib" "C:\Dev-Cpp\lib\libstaticMusicXML.a"
The -L option is to specify library folders, not the libraries themselves. If the library name is of the form libXXX.a and is in a path specified by a -L option, you can link it with -lXXX (lowercase-L). Otherwise you can simply specify the library path fully with no switch (note you can do this by clicking the "Add library for object file button in the project options dialog).
So even if the library is of the right format, you never actually succeeded in linking it correctly in any case - try that first. In this case "-lstaticMusicXML".
I can find no reference to staticMusicXML.lib on Recordare's web site, which seems to have only standard's documentation, not any actual library; post a link so we can see what you are working with.
Clifford
Thanks, Clifford. I tried to use "-lstaticMusicXML", but no dice.
I'm sorry I didn't indicate the library origin explicitly. No, Recordare didn't write it, a French company did, based on the MusicXML definition from Recordare. I down-loaded the library (like Dev-Cpp) from SourceForge.net. Easiest way to find it is to search for "MusicXML", and you will find the library in pole position in the 16-item list.
It would be decouraging to find that the library isn't compatible with Dev-Cpp, as it will mean I have to look for another compiler (or language, and then having to work up from scratch), and my resources are meager. Still, my motivation is strong.
Torbjorn
>> Thanks, Clifford. I tried to use "-lstaticMusicXML", but no dice.
Then re-post the log! We may still be able to help, and the log where show if you correctly configured the project and may indicate what to do next.
>> Easiest way to find it is to search for "MusicXML"
No! The easiest thing for me would be for you to have posted the link! I'll wager too that it would have been easier for you to to that than it was to type instructions! Of the many possible downloads for the project, I don't know which you are using - and that may make a difference!
Taking a look at the Win32 distribution lib file itself, it does actually appear to be a GNU library, but it may have been built using Cygwin, which may prevent it from working, even if you could link it. The distribution also has a DLL version, it looks like the code is C++ which may cause further problems (depending on the compiler used to build it). The project is open source, so the simple solution is to rebuild the code from source into your own static library.
It beats me why those distributing binary libraries don't realise that it is necessary to specify what it was build with. I guess it stems from the Linux origins where everything is built with GNU tools is a fair assumption.
Clifford
Clifford,
I hope you had pleasant holidays. They put a spanner in my routines though, but I put in a lot of time attempting to make a static library out of the source code for it I downloaded from SourceForge. As you may remember my problem started with my inability to link to a library called the MusicXML Library, written by Grame Research Laboratory in Lyon, France, based on the MusicXML package from Recordare. You had a testing time before Christmas trying to beat some clear thinking into my aged skull (73), and the end result, as far as I can judge it, is that the Bloodshed DEV-CPP compiler and that library don't mix. May be it would be an idea for me to contact the French company about the library, how they compiled it, and with what tools? What specific questions should I ask them? (Ultimately to help me using their product as it is distributed.)
What interested me most in your final comments before the holidays was, that if the source code for the library is available — which it is — it should be a fairly easy job to make a static library from it (with DEV-CPP I gather), and use that instead. So, I downloaded the library source from SourceForge and had a go at doing the compilation to object files, to run ar to make the archive, and to index it. I managed to produce a handful of object files, and ar worked fine as far as I understand, but the compiler puked up several of the source files and didn't succeed in making object files out of them. Also there are more kinds of files in there than I expected. To ask a stupid question: is one expected to start by making a project in order to compile the stuff into object files? Should one use an include file to tell the compiler what to do?
So, my conclusion is that I am too much of an amateur to fix this as things stand today. Is there somewhere a detailed tutorial or a book, or something that could teach me the handiwork? I probably start off from the wrong foot. I really don't know jack about the standard procedure in this.
From a concerned amateur programmer,
Yours, Torbjörn.
There is a static library project template that will compile multiple sources and build the archive for you. Of course with third-party code things are often not that simple.
I have finally figured out how to extract the source (had to rename the file extracted from .tgz with .tar for my tool to recognise it). It has a VC++ 6 project file in the Windows folder. You can build these with the free VC++ 2005 or 2008 Express Edition, but you'll have to use that for everything else as well (which is not a bad idea).
I loaded it into VC++2005 and it built with a couple of warnings (which could be easily fixed). It looks like a simple build, staticMusicXML comprises the files in the "core" and "visitors" folders. The other folders under src appear to be example projects or build files for other platforms. One of the examples (clefChange) did not load, VC++ said it was corrupted.
I have attempted to create a Dev-C++ static library project with some success. TXML2GuidoVisitor.cpp does not compile, and I have not yet determined why. If you want to try my build (I have not tested it). Create a plain text file called libstaticMusicXML.dev in ..\libmusicxml-1.09-src\src\windows\staticMusicXML\ and copy to it the text below. Save the file and then load it as a Dev-C++ project. I have disabled compilation of the troublesome TXML2GuidoVisitor.cpp, to re-enable it set Compile and link to 1 in [Unit54] below:
-------COPY TEXT BELOW THIS LINE------------------
[Project]
FileName=libstaticMusicXML.dev
Name=libstaticMusicXML
UnitCount=120
Type=2
Ver=1
ObjFiles=
Includes=
Libs=
PrivateResource=
ResourceIncludes=
MakeIncludes=
Compiler=
CppCompiler=-I....\include -DMXMLSTATIC -DVXMLSTATIC_@@__@@_
Linker=
IsCpp=1
Icon=
ExeOutput=
ObjectOutput=
OverrideOutput=0
OverrideOutputName=libstaticMusicXML.a
HostApplication=
Folders=Core,Include,Visitors
CommandLine=
UseCustomMakefile=0
CustomMakefile=
IncludeVersionInfo=0
SupportXPThemes=0
CompilerSet=0
CompilerSettings=0000000000000001000100
[Unit1]
FileName=....\core\xmlparse.h
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit2]
FileName=....\core\common.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit3]
FileName=....\core\conversions.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit4]
FileName=....\core\Iexpat.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit5]
FileName=....\core\Iexpat.h
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit6]
FileName=....\core\IMusicXMLReader.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit7]
FileName=....\core\IMusicXMLReader.h
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit8]
FileName=....\core\IMusicXMLVisitor.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit9]
FileName=....\core\IMusicXMLVisitor.h
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit10]
FileName=....\core\reader.h
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit11]
FileName=....\core\smartpointer.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit12]
FileName=....\core\TArpeggiate.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit13]
FileName=....\core\TAttributes.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit14]
FileName=....\core\TBackupForward.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit15]
FileName=....\core\TBarline.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit16]
FileName=....\core\TChord.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit17]
FileName=....\core\TClef.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit18]
FileName=....\core\TDirection.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit19]
FileName=....\core\TFiguredBass.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit20]
FileName=....\core\THarmony.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit21]
FileName=....\core\TIdentification.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit22]
FileName=....\core\TKey.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit23]
FileName=....\core\TMeasure.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit24]
FileName=....\core\TMeasureStyle.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit25]
FileName=....\core\TMidiDevice.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit26]
FileName=....\core\TMidiInstrument.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit27]
FileName=....\core\TMusicXMLFile.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit28]
FileName=....\core\TNotation.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit29]
FileName=....\core\TNote.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit30]
FileName=....\core\TOrnaments.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit31]
FileName=....\core\TOtherDirections.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit32]
FileName=....\core\TPart.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit33]
FileName=....\core\TPartGroup.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit34]
FileName=....\core\TPartList.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit35]
FileName=....\core\TPitch.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit36]
FileName=....\core\TRational.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit37]
FileName=....\core\TRoutedVisitor.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit38]
FileName=....\core\TScore.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit39]
FileName=....\core\TScoreHeader.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit40]
FileName=....\core\TScoreInstrument.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit41]
FileName=....\core\TScorePart.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit42]
FileName=....\core\TScorePartwise.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit43]
FileName=....\core\TScoreTimewise.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit44]
FileName=....\core\TSound.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit45]
FileName=....\core\TStaffDetails.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit46]
FileName=....\core\TTechnical.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit47]
FileName=....\core\TTimeModification.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit48]
FileName=....\core\TTimeSign.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit49]
FileName=....\core\TTranspose.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit50]
FileName=....\core\TWork.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit51]
FileName=....\core\xml.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit52]
FileName=....\core\xmllex.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit53]
FileName=....\core\xmlparse.cpp
CompileCpp=1
Folder=Core
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit54]
FileName=....\visitors\TXML2GuidoVisitor.cpp
CompileCpp=1
Folder=Visitors
Compile=0
Link=0
Priority=1000
OverrideBuildCmd=0
BuildCmd=$(CPP) -c TXML2GuidoVisitor.cpp -o TXML2GuidoVisitor.o $(CXXFLAGS)
[Unit55]
FileName=....\visitors\guido.cpp
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit56]
FileName=....\visitors\GuidoChecker.cpp
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit57]
FileName=....\visitors\GuidoChecker.h
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit58]
FileName=....\visitors\TMidiContextVisitor.cpp
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit59]
FileName=....\visitors\TRolledVisitor.cpp
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit60]
FileName=....\visitors\TScanVisitor.cpp
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit61]
FileName=....\visitors\TTransposeVisitor.cpp
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit62]
FileName=....\visitors\TUnrolledVisitor.cpp
CompileCpp=1
Folder=Visitors
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[VersionInfo]
Major=0
Minor=1
Release=1
Build=1
LanguageID=1033
CharsetID=1252
CompanyName=
FileVersion=
FileDescription=Developed using the Dev-C++ IDE
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=
AutoIncBuildNr=0
[Unit63]
FileName=....\include\xml.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit64]
FileName=....\include\bimap.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit65]
FileName=....\include\common.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit66]
FileName=....\include\conversions.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit67]
FileName=....\include\exports.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit68]
FileName=....\include\guido.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit69]
FileName=....\include\guidovisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit70]
FileName=....\include\LibMusicXML.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit71]
FileName=....\include\smartclasses.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit72]
FileName=....\include\smartpointer.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit73]
FileName=....\include\TArpeggiate.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit74]
FileName=....\include\TAttributes.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit75]
FileName=....\include\TBackupForward.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit76]
FileName=....\include\TBarline.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit77]
FileName=....\include\TChord.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit78]
FileName=....\include\TClef.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit79]
FileName=....\include\TDirection.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit80]
FileName=....\include\TFiguredBass.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit81]
FileName=....\include\THarmony.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit82]
FileName=....\include\TIdentification.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit83]
FileName=....\include\TKey.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit84]
FileName=....\include\TMeasure.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit85]
FileName=....\include\TMeasureStyle.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit86]
FileName=....\include\TMidiContextVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit87]
FileName=....\include\TMidiDevice.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit88]
FileName=....\include\TMidiInstrument.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit89]
FileName=....\include\TMusicXMLFile.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit90]
FileName=....\include\TNodeVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit91]
FileName=....\include\TNotation.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit92]
FileName=....\include\TNote.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit93]
FileName=....\include\TOrnaments.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit94]
FileName=....\include\TOtherDirections.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit95]
FileName=....\include\TPart.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit96]
FileName=....\include\TPartGroup.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit97]
FileName=....\include\TPartList.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit98]
FileName=....\include\TPitch.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit99]
FileName=....\include\TRational.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit100]
FileName=....\include\TRolledVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit101]
FileName=....\include\TRoutedVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit102]
FileName=....\include\TScanVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit103]
FileName=....\include\TScore.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit104]
FileName=....\include\TScoreHeader.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit105]
FileName=....\include\TScoreInstrument.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit106]
FileName=....\include\TScorePart.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit107]
FileName=....\include\TScorePartwise.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit108]
FileName=....\include\TScoreTimewise.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit109]
FileName=....\include\TScoreVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit110]
FileName=....\include\TSound.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit111]
FileName=....\include\TStaffDetails.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit112]
FileName=....\include\TTechnical.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit113]
FileName=....\include\TTimeModification.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit114]
FileName=....\include\TTimeSign.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit115]
FileName=....\include\TTranspose.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit116]
FileName=....\include\TTransposeVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit117]
FileName=....\include\TUnrolledVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit118]
FileName=....\include\TWork.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit119]
FileName=....\include\TXML2GuidoVisitor.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit120]
FileName=....\include\UTools.h
CompileCpp=1
Folder=Include
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
Clifford, you really are a Cyber-space Good Samaritarian! What I appreciate most is your patience, and your willingness to be liberal with the good old elbow-grease.
OK, I tried using your ready-made project file for Dev-Cpp, and it seems to have worked. The thing compiled peacefully, and in the end I had a 30-meg+ lib file, libstaticMusicXML.a. In itself that is very heartening.
Then I — of course — made haste to try it out by attempting to compile one of those example files you noticed, files sent with the original library, one called RandomMusic.cpp. I tried manfully to check that I had told the computer-linker where to find include and lib files. It seems the linker can't find the library though. I created a new project for a Win exe, attaching the .cpp file. There is a slew of linker errors, so I seem to have botched things up as usual.
May I test your forbearance once more by looking at the compile log? I of course still have that new lib file in ..src/windows/staticMusicXML/libstaticMusicXML.a
Compiler: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Executing make clean
rm -f XML_lib_src/libmusicxml-1.09-src/src/samples/main.o XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o test_lib_randmusic.exe
c:\dev-cpp\bin\g++.exe -c XML_lib_src/libmusicxml-1.09-src/src/samples/main.cpp -o XML_lib_src/libmusicxml-1.09-src/src/samples/main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/XML_lib_src/libmusicxml-1.09-src/src/include"
c:\dev-cpp\bin\g++.exe -c XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.cpp -o XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/XML_lib_src/libmusicxml-1.09-src/src/include"
c:\dev-cpp\bin\g++.exe XML_lib_src/libmusicxml-1.09-src/src/samples/main.o XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o -o "test_lib_randmusic.exe" -L"C:/Dev-Cpp/lib" -L"C:/Dev-Cpp/XML_lib_src/libmusicxml-1.09-src/src/windows/staticMusicXML" -lstaticMusicXML -mwindows
XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1a8):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML12newScorePartESs' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x272):RandomMusic.cpp: undefined reference to
_impZN8MusicXML10TScorePart11setPartNameERKSs'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x33c):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML18newScoreInstrumentESs' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x425):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML16TScoreInstrument7setNameERKSs'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x4c6):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML10TScorePart3addERK6SMARTPINS_16TScoreInstrumentEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x515):RandomMusic.cpp: undefined reference to
_impZN8MusicXML17newMidiInstrumentESs'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x5c4):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML15TMidiInstrument10setProgramEl' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x5e0):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML10TScorePart3addERK6SMARTPINS_15TMidiInstrumentEE'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x7b7):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML17newIdentificationEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x7d1):RandomMusic.cpp: undefined reference to
_impZN8MusicXML10newCreatorEv'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x83f):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML8TCreator7setTypeERKSs' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x91b):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML8TCreator7setNameERKSs'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x9bc):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML15TIdentification3addERK6SMARTPINS_8TCreatorEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x9c9):RandomMusic.cpp: undefined reference to
_impZN8MusicXML11newEncodingEv'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xa2d):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML9TEncoding11setSoftwareERKSs' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xb5b):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML12TScoreHeader16setMovementTitleERKSs'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xbe3):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML11newPartListEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xcc1):RandomMusic.cpp: undefined reference to
_impZN8MusicXML9TPartList3addERK6SMARTPINS10TScorePartEE'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xf11):RandomMusic.cpp: undefined reference to `_imp_ZN8MusicXML13newAttributesEv'
XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xf2b):RandomMusic.cpp: undefined reference to `_imp___ZN8MusicXML7newClefEv'
XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xf5f):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML5TClef7setSignEl' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xf7c):RandomMusic.cpp: undefined reference to
_impZN8MusicXML5TClef7setLineEl'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xf98):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML11TAttributes3addERK6SMARTPINS_5TClefEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xfa5):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML11newTimeSignEv'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0xfd7):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML9TTimeSign3addEll' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1018):RandomMusic.cpp: undefined reference to
_impZN8MusicXML11TAttributes12setDivisionsEl'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x105c):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML10TPWMeasure3addERK6SMARTPINS_10TMusicDataEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x10b2):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML12newDirectionEv'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x10c2):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML8newSoundEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1107):RandomMusic.cpp: undefined reference to
_impZN8MusicXML6TSound8setTempoEl'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x113b):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML16newDirectionTypeEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x114e):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML12newMetronomeEv'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1188):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML21TSymbolicNoteDuration7setBeatENS_8NoteType4typeE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x11a7):RandomMusic.cpp: undefined reference to
_impZN8MusicXML10TMetronome12setPerMinuteEl'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x11f7):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML14TDirectionType3addERK6SMARTPINS_21TDirectionTypeElementEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1265):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML10TDirection3addERK6SMARTPINS_14TDirectionTypeEE'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x12af):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML10TPWMeasure3addERK6SMARTPINS_10TMusicDataEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x15ff):RandomMusic.cpp: undefined reference to
_impZN8MusicXML12newPWMeasureEl'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1645):RandomMusic.cpp: undefined reference to `_imp_ZN8MusicXML7newNoteEv'
XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x165f):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML8newPitchEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x16a8):RandomMusic.cpp: undefined reference to
_impZN8MusicXML6TPitch7setStepEi'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x16dc):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML6TPitch9setOctaveEi' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x171d):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML5TNote11setDurationEm'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x172a):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML12newGraphNoteEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x17db):RandomMusic.cpp: undefined reference to
_impZN8MusicXML10TGraphNote7setTypeENS8NoteType4typeE'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x181f):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML10TPWMeasure3addERK6SMARTPINS_10TMusicDataEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1a09):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML9newPWPartESs'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1aaf):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML7TPWPart3addERK6SMARTPINS_10TPWMeasureEE' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1b99):RandomMusic.cpp: undefined reference to
_impZN8MusicXML16newScorePartwiseEv'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1bb0):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML14newScoreHeaderEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1c8b):RandomMusic.cpp: undefined reference to
_imp_ZN8MusicXML14TScorePartwise3addERK6SMARTPINS_7TPWPartEE'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text+0x1d0e):RandomMusic.cpp: undefined reference to
_imp___ZN8MusicXML13TMusicXMLFile5writeE6SMARTPINS_6TScoreEERSo' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text$_ZN6SMARTPIN8MusicXML9TTimeSignEED1Ev[SMARTP<MusicXML::TTimeSign>::~SMARTP()]+0x1a):RandomMusic.cpp: undefined reference to
_impZN9smartable15removeReferenceEv'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text$_ZN6SMARTPIN8MusicXML6TPitchEED1Ev[SMARTP<MusicXML::TPitch>::~SMARTP()]+0x1a):RandomMusic.cpp: undefined reference to
_imp___ZN9smartable15removeReferenceEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text$_ZN6SMARTPIN8MusicXML5TNoteEED1Ev[SMARTP<MusicXML::TNote>::~SMARTP()]+0x23):RandomMusic.cpp: undefined reference to
_imp_ZN9smartable15removeReferenceEv'XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text$_ZN6SMARTPIN8MusicXML10TGraphNoteEED1Ev[SMARTP<MusicXML::TGraphNote>::~SMARTP()]+0x1a):RandomMusic.cpp: undefined reference to
_imp___ZN9smartable15removeReferenceEv' XML_lib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text$_ZN6SMARTPIN8MusicXML6TSoundEED1Ev[SMARTP<MusicXML::TSound>::~SMARTP()]+0x23):RandomMusic.cpp: undefined reference to
_impZN9smartable15removeReferenceEv'XMLlib_src/libmusicxml-1.09-src/src/samples/RandomMusic.o(.text$_ZN6SMARTPIN8MusicXML9TEncodingEED1Ev[SMARTP<MusicXML::TEncoding>::~SMARTP()]+0x1a):RandomMusic.cpp: more undefined references to `_imp_ZN9smartable15removeReferenceEv' follow
collect2: ld returned 1 exit status
c:\dev-cpp\bin\make.exe: *** [test_lib_randmusic.exe] Error 1
Execution terminated
Regards,
Torbjörn
>> The thing compiled peacefully, and in the end I had a 30-meg+ lib file, libstaticMusicXML.a.
It looks like I omitted to switch debug off in that build, disabling debug will make it far smaller. You might also want to apply optimisation.
I am going to have to switch on my other PC to take a look at this issue. As I said, I never did any testing.
OK at Optimisation level 2 and no debug the library comes in at under 4Mb.
Now, looking at RandomMusic.cpp it seems that it is intended to be compiled as a console app - it has main() rather than WinMain() as its entry point.
The prefix _imp___ on the missing symbols indicates that the RandomMisic.o file was compiled to expect the functions as DLL imports. To fix this you have to define the macros MXMLSTATIC and VXMLSTATIC as I did for the library build. Do this by adding -DMXMLSTATIC -DVXMLSTATIC to the project's C++ compile options. Then do a Rebuild All to force RandomMusic.o recompilation.
In your build you will also want to remove the default main.cpp and have just RandomMusic.cpp (otherwise your code will have two entry points!)
All that done it should work (I tested it this time). Looks like you are good to go so long as you don't need anything from TXML2GuidoVisitor. I really don't think I will have time to fathom that one right now.
I have no idea what the program or library are for but when executed it squirts a whole load of XML to stdout. To capture the output to a file you will have to run it from a command line console thus:
RandomMusic >RandomMusic.xml
The resulting RandomMusic.xml file looks like this:
<?xml version="1.0" standalone="no"?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 1.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise>
<movement-title>Random Music</movement-title>
<identification>
<creator type="Composer">Georg Chance</creator>
<encoding>
<software>MusicXML Library</software>
</encoding>
</identification>
<part-list>
<score-part id="P1">
<part-name>Recorder</part-name>
<score-instrument id="I1">
<instrument-name>Recorder</instrument-name>
</score-instrument>
<midi-instrument id="I1">
<midi-program>75</midi-program>
</midi-instrument>
</score-part>
</part-list>
<part id="P1">
<measure number="1">
<attributes>
<divisions>4</divisions>
<time>
<beats>4</beats>
<beat-type>4</beat-type>
</time>
<clef>
<sign>G</sign>
<line>2</line>
</clef>
</attributes>
<direction>
<direction-type>
<metronome>
<beat-unit>quarter</beat-unit>
<per-minute>103</per-minute>
</metronome>
</direction-type>
<sound tempo="103"/>
</direction>
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="2">
<note>
<pitch>
<step>E</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>D</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="3">
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>A</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="4">
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="5">
<note>
<pitch>
<step>D</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>D</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="6">
<note>
<pitch>
<step>G</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="7">
<note>
<pitch>
<step>E</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>D</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="8">
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="9">
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>G</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="10">
<note>
<pitch>
<step>F</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>D</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="11">
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="12">
<note>
<pitch>
<step>A</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>A</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="13">
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>D</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="14">
<note>
<pitch>
<step>A</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>A</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="15">
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>G</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="16">
<note>
<pitch>
<step>D</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>D</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="17">
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="18">
<note>
<pitch>
<step>D</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>G</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="19">
<note>
<pitch>
<step>G</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>F</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>E</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>C</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
<measure number="20">
<note>
<pitch>
<step>E</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>A</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>D</step>
<octave>4</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
<note>
<pitch>
<step>B</step>
<octave>5</octave>
</pitch>
<duration>4</duration>
<type>quarter</type>
</note>
</measure>
</part>
</score-partwise>
... Ok, not quite like that, the program's output was nicely indented! ;-)
... Oh and guess what!? I have just figured out that the MXMLSTATIC and VXMLSTATIC macro thing may have been your only problem in the first instance! You could probably use the original library once you have those set so that the headers match the library!
Doh!
Still I have to take a good look at the source to figure that one out!
Clifford