Re #2: I'll see if I can track down that file.
Re #4: I'll see if I can figure out how to make that seamless.
Apparently I'm a glutton for punishment...it became apparent pretty quickly that build/qtcreator/mixxx.pro was woefully out of date. Now, it's a lot less out of date. The enclosed archive contains a patch, and a new file, that significantly advances the mingw build!
Some paths (e.g. mixxx-mingw, where I installed all the mingw-built dependent packages) are hardcoded, but given how broken mixxx.pro was before, I doubt this makes it any more broken. :-) At some point, I can include all the instructions and patch files for the mingw build of the dependencies. (If I get REALLY motivated, I can send those patches upstream to the dependency package maintainers.)
It built, linked, and even ran, mostly...it crashed in a very strange way:
Program received signal SIGSEGV, Segmentation fault.
#0 google::protobuf::internal::RepeatedPtrFieldBase::Reserve (this=0x0,
new_size=2685088) at google/protobuf/repeated_field.cc:46
#1 0x00738040 in google::protobuf::internal::RepeatedPtrFieldBase::Add<google::protobuf
::RepeatedPtrField<mixxx::skin::SkinManifest_Attribute>::TypeHandler> (this=0x28f8a0)
at ../mixxx-winlib/google/protobuf/repeated_field.h:675
#2 0x0073748d in google::protobuf::RepeatedPtrField<mixxx::skin::SkinManifest_Attribute
>::Add (this=0x28f8a0) at ../mixxx-winlib/google/protobuf/repeated_field.h:870
#3 0x007346b8 in mixxx::skin::SkinManifest::add_attribute (this=0x28f884)
at ./proto/skin.pb.h:772
#4 0x005e4456 in LegacySkinParser::getSkinManifest (skinDocument=...)
at ..\mixxx-winsrc\src\skin\legacyskinparser.cpp:225
#5 0x005e480d in LegacySkinParser::parseSkin (this=0x28f984, skinPath=..., pParent=
0x23e9b6d8) at ..\mixxx-winsrc\src\skin\legacyskinparser.cpp:256
#6 0x005e20bf in SkinLoader::loadDefaultSkin (this=0x23d0d668, pParent=0x23e9b6d8,
pKeyboard=0x1d1bc260, pPlayerManager=0x1da66d08, pControllerManager=0x20e88c58,
pLibrary=0x20dffa48, pVCMan=0x347dd8)
at ..\mixxx-winsrc\src\skin\skinloader.cpp:70
#7 0x004bd667 in MixxxApp::MixxxApp (this=0x1d1ba378, pApp=0x28fe2c, args=...)
at ..\mixxx-winsrc\src\mixxx.cpp:456
#8 0x004b54ea in qMain (argc=1, argv=0x1d1aaa20) at ..\mixxx-winsrc\src\main.cpp:284
I'm not sure how "this" can become NULL between google::protobuf::internal::RepeatedPtrFieldBase::Add() and google::protobuf::internal::RepeatedPtrFieldBase::Reserve(), so I'm stuck.
So hopefully you'll be willing to apply these patches. I tested them with the MSVC Win32 build and the Linux (i.e. Fedora Core 18) build, and all seems well.
Until I figure out what to do about the above crash, I think I'll try to get scons to build mixxx with the mingw toolchain.
Re #2: I'll see if I can track down that file.
Re #4: I'll see if I can figure out how to make that seamless.
Apparently I'm a glutton for punishment...it became apparent pretty quickly that build/qtcreator /mixxx. pro was woefully out of date. Now, it's a lot less out of date. The enclosed archive contains a patch, and a new file, that significantly advances the mingw build!
Some paths (e.g. mixxx-mingw, where I installed all the mingw-built dependent packages) are hardcoded, but given how broken mixxx.pro was before, I doubt this makes it any more broken. :-) At some point, I can include all the instructions and patch files for the mingw build of the dependencies. (If I get REALLY motivated, I can send those patches upstream to the dependency package maintainers.)
It built, linked, and even ran, mostly...it crashed in a very strange way:
Program received signal SIGSEGV, Segmentation fault. :protobuf: :internal: :RepeatedPtrFie ldBase: :Reserve (this=0x0, size=2685088) at google/ protobuf/ repeated_ field.cc: 46 :protobuf: :internal: :RepeatedPtrFie ldBase: :Add<google: :protobuf eld<mixxx: :skin:: SkinManifest_ Attribute> ::TypeHandler> (this=0x28f8a0) winlib/ google/ protobuf/ repeated_ field.h: 675 :protobuf: :RepeatedPtrFie ld<mixxx: :skin:: SkinManifest_ Attribute winlib/ google/ protobuf/ repeated_ field.h: 870 skin::SkinManif est::add_ attribute (this=0x28f884) skin.pb. h:772 r::getSkinManif est (skinDocument=...) winsrc\ src\skin\ legacyskinparse r.cpp:225 r::parseSkin (this=0x28f984, skinPath=..., pParent= winsrc\ src\skin\ legacyskinparse r.cpp:256 :loadDefaultSki n (this=0x23d0d668, pParent=0x23e9b6d8, 0x1d1bc260, pPlayerManager= 0x1da66d08, pControllerMana ger=0x20e88c58, 0x20dffa48, pVCMan=0x347dd8) winsrc\ src\skin\ skinloader. cpp:70 winsrc\ src\mixxx. cpp:456 winsrc\ src\main. cpp:284
#0 google:
new_
#1 0x00738040 in google:
::RepeatedPtrFi
at ../mixxx-
#2 0x0073748d in google:
>::Add (this=0x28f8a0) at ../mixxx-
#3 0x007346b8 in mixxx::
at ./proto/
#4 0x005e4456 in LegacySkinParse
at ..\mixxx-
#5 0x005e480d in LegacySkinParse
0x23e9b6d8) at ..\mixxx-
#6 0x005e20bf in SkinLoader:
pKeyboard=
pLibrary=
at ..\mixxx-
#7 0x004bd667 in MixxxApp::MixxxApp (this=0x1d1ba378, pApp=0x28fe2c, args=...)
at ..\mixxx-
#8 0x004b54ea in qMain (argc=1, argv=0x1d1aaa20) at ..\mixxx-
I'm not sure how "this" can become NULL between google: :protobuf: :internal: :RepeatedPtrFie ldBase: :Add() and google: :protobuf: :internal: :RepeatedPtrFie ldBase: :Reserve( ), so I'm stuck.
So hopefully you'll be willing to apply these patches. I tested them with the MSVC Win32 build and the Linux (i.e. Fedora Core 18) build, and all seems well.
Until I figure out what to do about the above crash, I think I'll try to get scons to build mixxx with the mingw toolchain.