I'm trying to build the AAF library (v1.1.6) using Visual Studio 2015. I can build it okay with VS2005 but when I try the VS2015 solution, only the Debug targets build okay. For both Release targets (32-bit and 64-bit) the linker quits unexpectedly when it tries to build AAFBasicInterpolators - giving me this error:-
error MSB4018: The "Link" task failed unexpectedly.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(638,5): error MSB4018: System.NullReferenceException: Object reference not set to an instance of an object.
Has anyone else ever seen this? I experimented with changing the various compiler and linker settings without any success. I then abandoned the VS2015 project (AAFBasicInterpolators.vcxproj) and substituted the one for VS2010. Using Visual Studio I then asked it to upgrade that project to VS2015 format - but that didn't help either (I still see the same error). Just wondering if this is a known issue?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've only ever been able to build using VS2010 because the required SchemaSoft Structured Storage library included with AAF was compiled using VS2010 dynamic run-time. I should also mention that I've created my own VS project files for compiling AAF and it only compiles the stuff important to me (the main dll and aaffmtconv). Using any other version of VS while compiling the AAF library will result in linker errors and warnings about ssrw_c.lib (SchemaSoft) library having been compiled with VS2010 and how attempting to link it may cause errors... and then those errors happen...
If anyone has the original source to this SchemaSoft code, please chime in. SchemaSoft no longer exists and Apple who now owns the code does not license this code but instead uses it for internal projects only. The other paths of compiling AAF without Schemsoft code are also broken. The Microsoft Structured Storage code in AAF has comments that say "will not fix" (not sure what they won't fix though) and libgsf requires so many other libraries to work on windows it takes weeks just to find out that it too is broken. I would write an alternative to SchemaSoft myself but I don't even know what its interface looks like. Any help here would be great!
I also wish to build AAF with a newer version of Visual Studio, but I would settle for a version of this SchemaSoft library that is linked against the static run-time libraries of VS2010.
In my opinion AAF is old, overly complex and broken. It likely won't be fixed or updated... ever.
ron (dot) novy (at) yahoo (dot) com
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi Ron - I ended up ditching AAFBasicInterpolators.vcxproj and creating a new (empty) project. Since then I've been painstakingly copying all the settings from the original version. Up to now, everything is compiling and linking okay but I've still got quite a few settings to copy over.
That's interesting about ssrw_c.lib. I know from past experience that trying to mix-and-match libraries from different versions of MSVC is fraught with problems. You can get away with it (sometimes) if you need to link to a lib from VC6 but anything else is just asking for trouble :-(
Thanks for the heads-up.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
As I recall, the structured storage source code (for ssrw_c.lib) is available to AMWA members. I know I've had access to it in the past for the purpose of porting the SDK to a new compiler.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Jim, thank you for chiming in. I see you are a member since your name is still listed on the website. I thought to myself that it would be a perfect time to grab a membership and get the code updated and make a few people happy, but then I realized I don't work for a company with a membership and I only have about $100 in the bank, which might be best if it stays there. I honestly don't think the membership would be worth the money for myself because the ROI wouldn't be worth it. It would only benifit a few people. But if I did have a membership, or say I knew a guy, who would I speak to about getting access to the source and where would it be accessed from?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I don't have access to the source code, even if I didn't I could not make it available.. There is some discussion about this happening. Stay tuned. Hopefully a solution will be forthcomming.
Last edit: Jim Trainor 2018-06-21
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
BTW, I see that my comment was ambigous. I didn't mean discussion about making the schema soft code available. I meant updated builds to support new compilers - that's what is hopefully forthcoming.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm trying to build the AAF library (v1.1.6) using Visual Studio 2015. I can build it okay with VS2005 but when I try the VS2015 solution, only the Debug targets build okay. For both Release targets (32-bit and 64-bit) the linker quits unexpectedly when it tries to build AAFBasicInterpolators - giving me this error:-
error MSB4018: The "Link" task failed unexpectedly.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(638,5): error MSB4018: System.NullReferenceException: Object reference not set to an instance of an object.
Has anyone else ever seen this? I experimented with changing the various compiler and linker settings without any success. I then abandoned the VS2015 project (AAFBasicInterpolators.vcxproj) and substituted the one for VS2010. Using Visual Studio I then asked it to upgrade that project to VS2015 format - but that didn't help either (I still see the same error). Just wondering if this is a known issue?
I've only ever been able to build using VS2010 because the required SchemaSoft Structured Storage library included with AAF was compiled using VS2010 dynamic run-time. I should also mention that I've created my own VS project files for compiling AAF and it only compiles the stuff important to me (the main dll and aaffmtconv). Using any other version of VS while compiling the AAF library will result in linker errors and warnings about ssrw_c.lib (SchemaSoft) library having been compiled with VS2010 and how attempting to link it may cause errors... and then those errors happen...
If anyone has the original source to this SchemaSoft code, please chime in. SchemaSoft no longer exists and Apple who now owns the code does not license this code but instead uses it for internal projects only. The other paths of compiling AAF without Schemsoft code are also broken. The Microsoft Structured Storage code in AAF has comments that say "will not fix" (not sure what they won't fix though) and libgsf requires so many other libraries to work on windows it takes weeks just to find out that it too is broken. I would write an alternative to SchemaSoft myself but I don't even know what its interface looks like. Any help here would be great!
I also wish to build AAF with a newer version of Visual Studio, but I would settle for a version of this SchemaSoft library that is linked against the static run-time libraries of VS2010.
In my opinion AAF is old, overly complex and broken. It likely won't be fixed or updated... ever.
ron (dot) novy (at) yahoo (dot) com
Hi Ron - I ended up ditching AAFBasicInterpolators.vcxproj and creating a new (empty) project. Since then I've been painstakingly copying all the settings from the original version. Up to now, everything is compiling and linking okay but I've still got quite a few settings to copy over.
That's interesting about ssrw_c.lib. I know from past experience that trying to mix-and-match libraries from different versions of MSVC is fraught with problems. You can get away with it (sometimes) if you need to link to a lib from VC6 but anything else is just asking for trouble :-(
Thanks for the heads-up.
As I recall, the structured storage source code (for ssrw_c.lib) is available to AMWA members. I know I've had access to it in the past for the purpose of porting the SDK to a new compiler.
Jim, thank you for chiming in. I see you are a member since your name is still listed on the website. I thought to myself that it would be a perfect time to grab a membership and get the code updated and make a few people happy, but then I realized I don't work for a company with a membership and I only have about $100 in the bank, which might be best if it stays there. I honestly don't think the membership would be worth the money for myself because the ROI wouldn't be worth it. It would only benifit a few people. But if I did have a membership, or say I knew a guy, who would I speak to about getting access to the source and where would it be accessed from?
I don't have access to the source code, even if I didn't I could not make it available.. There is some discussion about this happening. Stay tuned. Hopefully a solution will be forthcomming.
Last edit: Jim Trainor 2018-06-21
Thank you for the update. This is very interesting. Please keep us updated.
BTW, I see that my comment was ambigous. I didn't mean discussion about making the schema soft code available. I meant updated builds to support new compilers - that's what is hopefully forthcoming.
That's basically what I thought. Still very interesting. ;)