Hi all,

I've attached a (rough) patch that makes the release-1.6.2 branch
compile for me on Win32 using MSVC. This is mostly for Adam, but I'm
sending to the list because there's some quirks that I've noticed:

- The damn no-C99-inttypes-in-MSVC thing stops our bundled LADSPA
plugins from building. I thought I had this working before, but it looks
broken enough to deter me from even trying to fix it "properly". I've
just commented out the LADSPA plugins part of our SConscript for now. (I
think we said we were going to steal Audacity's precompiled LADSPA
plugins on Win32 at one point anyways.)

- Ignore the Microsoft Platform SDK/include/atl part of my patch. I'm
too lazy to fix my VM's build environment so I always have to hack that
in.

- The /Zc:wchar_t- hack is really nasty. Apparently the Qt libs from
KDE-WIN were compiled with this flag, and the linker gets upset if we
don't compile with this on. I suspect this'll cause mayhem with mingw
though. Not sure what the best solution is.

- The quotes around BUILD_FLAGS get messed up on win32. I tried to fix
it, but couldn't make the compiler happy, so I commented it out.

- The GetModuleFileName--->GetModuleFileNameW fix is as per Garth's
suggestion way back when (fixes compile error):
http://article.gmane.org/gmane.comp.multimedia.mixxx.devel/1891


Most of these changes are hacks. I wouldn't commit any of these to bzr,
I just want to put these issues out there for you guys to be aware of.

Looks like there's still an issue with the MidiScriptEngine deadlocking
in it's initialization code, which is preventing Mixxx from actually
starting properly on my machine. Another task for tomorrow. ;)

Thanks,
Albert
=== modified file 'mixxx/lib/ladspa/SConscript'
--- mixxx/lib/ladspa/SConscript	2009-02-02 04:13:57 +0000
+++ mixxx/lib/ladspa/SConscript	2009-03-27 01:56:14 +0000
@@ -9,7 +9,7 @@
 
 nodes = []
 
-nodes += SConscript(['caps/SConscript'], exports='env')
-nodes += SConscript(['cmt/SConscript'], exports='env')
+#nodes += SConscript(['caps/SConscript'], exports='env')
+#nodes += SConscript(['cmt/SConscript'], exports='env')
 
 Return('nodes')
\ No newline at end of file

=== modified file 'mixxx/src/SConscript'
--- mixxx/src/SConscript	2009-03-19 04:31:26 +0000
+++ mixxx/src/SConscript	2009-03-27 03:04:09 +0000
@@ -695,7 +695,7 @@
 			    '$QTDIR/include/Qt'])
 
 if platform == 'win32':
-	env.Append(CPPPATH="$VCINSTALLDIR/include/atl")
+	env.Append(CPPPATH=["$VCINSTALLDIR/include/atl", "C:/Program Files/Microsoft Platform SDK/Include/atl"])
 
 if platform == 'win32':
 	env.Append(CPPDEFINES = 'WIN32') #for soundtouch
@@ -761,6 +761,7 @@
 	env.Append(CPPDEFINES = 'T_MSVC')
 	#env.Append(CXXFLAGS = '-DT_MSVC') #is this still needed?
 	env.Append(LINKFLAGS = ['/nodefaultlib:LIBCMT.lib', '/nodefaultlib:LIBCMTD.lib'])
+	env.Append(CXXFLAGS = '/Zc:wchar_t-') #Ugh, MSVC-only hack :( see http://www.qtforum.org/article/17883/problem-using-qstring-fromstdwstring.html
 else:
 	env.Append(CPPDEFINES = 'T_LINUX') #so maybe "T_LINUX" isn't really accurate for an else case, but the only platforms really in existence are Unix and Win right now, and that's all we're targetting
 
@@ -1069,7 +1070,7 @@
 else:
 	print "Case Metrics profiling... disabled"
 
-env.Append(CPPDEFINES=[('BUILD_FLAGS', "'%s'" % build_flags)])
+#env.Append(CPPDEFINES=[('BUILD_FLAGS', "%s" % build_flags)])
 
 ### Put flags info into a file
 #f = open("#.mixxx_flags.svn","w")

=== modified file 'mixxx/src/configobject.cpp'
--- mixxx/src/configobject.cpp	2009-03-03 02:57:30 +0000
+++ mixxx/src/configobject.cpp	2009-03-27 02:00:36 +0000
@@ -694,7 +694,7 @@
 //    GetModuleFileName(NULL, str, 200);
 //    qConfigPath = QFileInfo(str).dirPath();
       wchar_t str[MAX_PATH];
-      GetModuleFileName(0, str, MAX_PATH);
+      GetModuleFileNameW(0, str, MAX_PATH);
       std::wstring path(str);
       qConfigPath = QFileInfo(QString::fromStdWString(path)).dirPath();
 #endif
------------------------------------------------------------------------------
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to