I recently purchased World Machine Pro and now I have tried to get the plugin PDK to work, but so far I keep running my head into a wall…
-
The VC2005 Express edition doesn’t seem to be available from Microsoft anymore. The old link(s) redirect to the 2008 Express versions.
-
Using the softpedia.org link I got the 2005 express downloaded and installed. However when trying to build I get an error that “windows.h” could not be found. I assume this is a very basic error with my installation, however I tried several times and on 2 different machines (64bit Vista with VS2008 already installed, 32bit XP with no pre-existing microsoft compiler installed).
-
I borrowed a copy of VS2005 Professional and tried building the PDK project. Building the debug version gave a number of linker errrors (included below), but the release version built without errors. However copying the resulting dll to the plugin/devices directory resulted in the “incorrect version” error. Same result with both VM Pro 2.1 and VM Basic 2.1. I don’t have the 2.0 versions, so I couldn’t check with them (is it still possible to download them somewhere?). I tried installing the VS2005 Pro on my other machine as well just to be absolutely sure, but got the same results there (debug version gave linker errors, release gave the “incorrect version” error when trying to load it in VM).
-
Just for good measure I also tried building with VS2008. The resulting dll also gave the “incorrect version” dll.
Would appreciate suggestions on how to get it to work.
Rasmus
PS: The PDK plugin dll only seems to be loaded when using the 32 bit version. Can the PDK be compiled to support 64bit as well?
Build log included (when building “debug” - not directly related to my problem, but might give some hints to what is wrong?):
1>------ Rebuild All started: Project: Example Devices, Configuration: Debug Win32 ------
1>Deleting intermediate and output files for project 'Example Devices', configuration 'Debug|Win32'
1>Compiling...
1>stdafx.cpp
1>Compiling...
1>DLLExample.cpp
1>Inverter.cpp
1>SimpleGenerator.cpp
1>SimpleOutput.cpp
1>SimpleWorldEffect.cpp
1>Generating Code...
1>Compiling resources...
1>Compiling manifest to resources...
1>Linking...
1>LIBCMT.lib(invarg.obj) : error LNK2005: __initp_misc_invarg already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __set_invalid_parameter_handler already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __get_invalid_parameter_handler already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: "void __cdecl _invoke_watson(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_invoke_watson@@YAXPBG00II@Z) already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: "void __cdecl _invalid_parameter(unsigned short const *,unsigned short const *,unsigned short const *,unsigned int,unsigned int)" (?_invalid_parameter@@YAXPBG00II@Z) already defined in LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: ___pInvalidArgHandler already defined in LIBCMTD.lib(invarg.obj)
1> Creating library Debug/Inverter Example.lib and object Debug/Inverter Example.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>Debug/Inverter Example.dll : fatal error LNK1169: one or more multiply defined symbols found
1>Build log was saved at "file://d:\Work\World Machine\WM2_PDK_09_2008\examples\Debug\BuildLog.htm"
1>Example Devices - 9 error(s), 1 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========