| I have uploaded the MinGW-built (gcc 4.2.1) Windows installer for the
double-precision sample version of Csound 5.08 beta to:
http://downloads.sourceforge.net/csound/Csound5.08.1-gnu-win32-d.exe?use_mirror=superb-east
As far as I know, no non-free features of Csound that work on Windows at all
are missing from this release. The current GNU debugger now debugs Csound
quite reliably and easily in Emacs. Csound now runs somewhat faster than the
previous release build with gcc 3.4.2, but not as fast the MSVC build, which
I am still working on. I think an Intel compiler build would be yet faster,
and I may try that if I have enough time before my trial license runs out.
My tests were just of the 'does it run, does it make a sound,' variety and I
am counting on users and other developers to report problems.
The issue with date.dll, pan2.dll, and pvs_ops.dll not loading was resolved
simply by renaming them cs_date.dll, cs_pan2.dll, and cs_pvs_ops.dll. I have
no idea at all why this worked. I made no other changes to SConstruct. I did
make a few changes to sources in the course of trying to figure out why they
did not load, but the only difference between loading and not loading is the
filenames. I searched for other versions of the files on my computer and did
not find them.
Everything used to make this release - SCons, MinGW/MSYS, third party
libraries -- is the current version except for Java, which is 5.0.
Some third party libraries were built with Microsoft Visual C++ 2008, and
therefore I have included the Microsoft runtime library in a
Microsoft.VC90.CRT subdirectory of the Csound bin directory. If that doesn't
work, let me know.
My apologies for how long this has taken, but I think the Windows build is
now in a much more maintainable and debuggable state.
Changes that I made to get this installer, in summary:
2008-03-02 Michael Gogins
* SConstruct, csoundd.nsi
Many changes to enable building and installing Csound built
with MSVC 2008 or MinGW 4.2.1
* CsoundAC
Build as static library to try to work around problem with
MSVC corrupting data in C++ classes exported but based
on non-exported STL classes.
* API Reference
Updated to reflect recent changes.
2008-02-23 Michael Gogins
* InOut/widgets.cpp
Fixed a major bug in which the Csound memory manager (C style) was
allocating and deallocating a C++ structure (WIDGETS_GLOBALS).
If new is not called for WIDGETS_GLOBALS, the constructors of its
std::vector collections are not called. Then in the widget
csoundDestroyModule function, invalid vectors are iterated,
causing an access violation. Fixed by using standard C++
new and delete for the structure to ensure proper creation of its
vector members. This is OK because by calling csoundModuleInit
and csoundModuleDestroy, Csound is permitting the module to
manage its own memory.
The code accessed FLTK flags as a value when the flags had not been
initialized as a global variable. This caused an access violation
in csoundModuleDestroy. The code has been changed to get the flags
as a pointer, and only dereference the pointer if it is not null.
* Opcodes/vst4cs/src/vst4cs.cpp
Cleaned up csoundModuleDestroy code for Windows MSVC build,
which was causing an access violation.
2008-02-22 Michael Gogins
* SConstruct
Many changes to enable all features of Csound to build with
Microsoft Visual C++ 2008 (MSVC). Also changes to enable
build with MinGW 3.4.5/MSys 1.0.11/SCons 0.97.
* custom-mingw.py and custom-msvc.py
Rationalized locations of third-party libraries in
network mounted "U:/" drive root directory.
* Frontends/CsoundAC/Counterpoint.cpp
Many changes to enable MSVC compilation.
* CsoundVST
Renamed CsoundVST.exe to CsoundVstShell.exe to
enable MSVC build.
Exported new RunCsoundVST function to enable CsoundVstShell to run
with MSVC build.
Regards,
Mike
|