Compile error [SOLVED]
-
On 14/10/2014 at 06:46, xxxxxxxx wrote:
Howdy,
No, I only have 2010 on Windows 7, at the moment. Has anyone successfully compiled the R16 sdk project with 2010?
Adios,
Cactus Dan -
On 14/10/2014 at 09:18, xxxxxxxx wrote:
Originally posted by xxxxxxxx
Howdy,
What is the difference between the v100 and the v110 that causes that error?
Adios,
Cactus DanInsufficient support of C++11/C++0x as well as C++11/C++0x functions that didn't work or didn't work as they should according to the standard in Visual Studio 2010 (if memory serves me well).
Best regards,
Wilfried
-
On 17/10/2014 at 05:37, xxxxxxxx wrote:
I am getting the same errors!
@Cactus Dan: Did you solved it? And if so, what did you do. Go over to vs2012/vs2013?
-
On 17/10/2014 at 06:12, xxxxxxxx wrote:
pgrooff, which compiler are you trying to use?
Wilfried was not kidding with his statement.
I also see no real reason, not to use VS2012 or VS2013. VS2013 has a pretty nice express edition. And I use it at home to compile my plugins for C4D versions from R13 to R16 in one single solution.
On the other hand, you may try to get VS2010 to compile your stuff, but please understand, that SDK Support won't be able to help on this. Sorry. -
On 17/10/2014 at 06:55, xxxxxxxx wrote:
Howdy,
Originally posted by xxxxxxxx
...@Cactus Dan: Did you solved it? And if so, what did you do. Go over to vs2012/vs2013?...
Not yet. I may have to upgrade.
Originally posted by xxxxxxxx
...I also see no real reason, not to use VS2012 or VS2013. VS2013 has a pretty nice express edition...
Does the newer express edition compile for 64bit? In previous versions it only compiled for 32 bit.
Adios,
Cactus Dan -
On 17/10/2014 at 06:57, xxxxxxxx wrote:
Yes, both VS2012 and VS2013 are compiling 64-Bit as well.
-
On 17/10/2014 at 07:35, xxxxxxxx wrote:
I have upgraded to vs2012 express and use Visual Studio 2010 (v100) as platform.
But I keep getting d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_misc\general.h(207) : fatal error C1004: unexpected end-of-file found!What to do?
I already copied the file from another beta version, but it gives me the same error. -
On 17/10/2014 at 07:42, xxxxxxxx wrote:
As said I am using toolset v100 and not toolset v110.
Toolset v110 give me the following errors:------ Build started: Project: cinema.framework, Configuration: Release x64 ------
1> c4d_basebitmap.cpp
1> c4d_customdatatype.cpp
1>d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_customdatatype.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema.framework\x64_release\vc_cinema.framework_release_64bit.pdb', has an obsolete format, delete it and recompile
1>d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_basebitmap.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema.framework\x64_release\vc_cinema.framework_release_64bit.pdb', has an obsolete format, delete it and recompile
1> c4d_graphview.cpp
1> c4d_operatorplugin.cpp
1> c4d_particles.cpp
1>d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_gv\c4d_graphview.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema.framework\x64_release\vc_cinema.framework_release_64bit.pdb', has an obsolete format, delete it and recompile
1>d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_gv\c4d_operatorplugin.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema.framework\x64_release\vc_cinema.framework_release_64bit.pdb', has an obsolete format, delete it and recompile
1> c4d_help.cpp
1> lib_net.cpp
1>d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_libs\lib_net.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema.framework\x64_release\vc_cinema.framework_release_64bit.pdb', has an obsolete format, delete it and recompile
1>d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_help.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema.framework\x64_release\vc_cinema.framework_release_64bit.pdb', has an obsolete format, delete it and recompile
1>d:\program files\maxon\cinema 4d r16\frameworks\cinema.framework\source\c4d_gv\c4d_particles.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema.framework\x64_release\vc_cinema.framework_release_64bit.pdb', has an obsolete format, delete it and recompile
2>------ Build started: Project: cinema4dsdk, Configuration: Debug x64 ------
2> datatype.cpp
2> activeobject.cpp
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source\gui\activeobject.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
2> memstat.cpp
2> misctest.cpp
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source\gui\memstat.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source\datatype\datatype.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source\other\misctest.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
2> movecopyconstructors.cpp
2> paintundo.cpp
2> sculptbrushmultistamp.cpp
2> edgecuttool.cpp
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source\painting\advanced\paintundo.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source\other\movecopyconstructors.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source ool\edgecuttool.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
2>d:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\source\sculpting\sculptbrushmultistamp.cpp : fatal error C1051: program database file, 'd:\program files\maxon\cinema 4d r16\plugins\examples\cinema4dsdk\_obj\cinema4dsdk\x64_debug\vc_cinema4dsdk.pdb', has an obsolete format, delete it and recompile
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========-Pim
-
On 17/10/2014 at 07:46, xxxxxxxx wrote:
Pim, toolset v100 won't work. You need at least toolset v110.
Did you read the posted errors? It looks like, there's old debug info from VS2010 in your project folder. Cleanup your folder and try once more with toolset v110. -
On 17/10/2014 at 07:49, xxxxxxxx wrote:
Ok, it works!
I started with a clean sdk. Remove the old one and created a new one.
Changed Win32 to x64 and debug to release and pressed F7 --> everything ok!So vs 2012 express is working for me!
Andreas, thanks!
-Pim
-
On 17/10/2014 at 08:20, xxxxxxxx wrote:
Pim, I'm glad this is working for you now. You are welcome.
I'd give VS2013 a shot as well. I personally like this RockScroll like scroll bars, they implemented in there...Also I'd like to add, that you probably won't need to start from scratch. As long as you cleanup before transitioning. At least as far as I can remember I went directly from VS2010 to VS2013, using my project folders as they were. Of course a backup before doing so is recommended, as the .vxproj files will get modified and transition back won't work as smoothly (never tried it, but at least that's my intuition).
Cactus Dan, how about you? I'd like to close this issue, as I don't see an unanswered question...
-
On 21/11/2014 at 01:59, xxxxxxxx wrote:
Compiling the R13 SDK with VS2013 with no errors but two warnings:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1361,5) : warning MSB8012: TargetPath(C:\Program Files\MAXON\CINEMA 4D R13\resource\_api_lib\\_api.lib) does not match the Library's OutputFile property value (C:\Program Files\MAXON\CINEMA 4D R13\resource\_api_lib\_api_x64_Debug.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1363,5) : warning MSB8012: TargetName(_api) does not match the Library's OutputFile property value (_api_x64_Debug). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile).
1> _api.vcxproj -> C:\Program Files\MAXON\CINEMA 4D R13\resource\_api_lib\\_api.libAny help how to fix that is very appreciated. Thank you.
-
On 21/11/2014 at 04:20, xxxxxxxx wrote:
Hello Klaus,
These warnings can be safely ignored.
If you want to you can fix the first like this:
Go to your project settings under General set the target extension to .cdl64 (for All Configurations, Platform x64) and to .cdl (for All Configurations, Platform Win32).For the second, I have to be honest, I don't get it here. I think, I have fixed it a long time ago or perhaps (as I was following Microbion's steps for project setup) I never ran into it. But it basically states the same, only for the API library. Please check the Target Name option in project settings General (for all four variants, win32 release+debug and x64 release+debug). I think it should be set to _api_$(Platform)_$(Configuration) for all configurations and all platforms.
NOTE: Before blaming me to have corrupted your project files. Please make a backup of your project before apllying changes. And perhaps take note of the parameter before you apply a change. And ALWAYS double check, which Configuration and which Platform is selected on top of the project settings. It's too easy to completely mix up project settings...
-
On 21/11/2014 at 06:39, xxxxxxxx wrote:
Thanks. The warnings are gone.
-
On 26/11/2014 at 08:16, xxxxxxxx wrote:
Hi,
I'd like to clarify why these compiler version upgrade / mismatch related problems occur, as they are issues that will reoccur in the future when upgrading to VS2013 and beyond.
1. Updated code causes fatal error C1004 with VS2010 target toolset
Unfortunately, MSDN does not explain the real reason why
fatal error C1004: unexpected end-of-file found!
occurs in this case. MSDN should state: 'You are attempting to compile code written for a different version of the C++ grammar.' as a potential reason. Here's why:
- A programming language grammar is the set of rigidly defined rules that describe all syntactically valid programs for that language. A particular version of a compiler might only include a subset of a grammar if its developers leave out non-essential features for future implementation.
- Grammars themselves can be changed over time by those in charge of its standardization. The relatively new C++11 standard includes a lot of new features that required additions to the C++ grammar.
That's why when you try compiling code written for VS2012 that uses a feature related to the newly added grammar with an older compiler target, such as VS2010, the older compiler goes astray early in the process. The resulting error can be any one of those that practically mean "Your code doesn't make sense to me at a fundamental level" (ie 'syntax error', 'missing < symbol >', etc.).
It also means that, unless you're willing to chop out or rewrite new code, you must upgrade to the new target toolset, as there's no going back to the older C++ dialect.
2. fatal error C1051: program database file, '<path to pdb file>', has an obsolete format, delete it and recompile
This error occurs due to not deleting files created the last time VS2010 was used to compile the code. This can lead to all sorts of mismatch issues with a newer compiler, some of which may not even be pointed out explicitly. It's therefore best that you first clean out your projects with the old Visual Studio (Build menu, 'Clean Solution' option) for every target (64 bit debug and 64 bit release) before attempting the upgrade.
3. Path problems, such as with "\_api.lib", after a compiler upgrade
If you look in your project's properties, you'll discover various directory paths written with macros. These macros change over time, and the upgrade process doesn't always do the proper conversion. You have to figure out the differences from the old to the new compiler, and adjust your new project's directory paths accordingly, using the new macros. It's certainly a pain, but a necessary evil. Warning: if you hard code the paths, you'll run into bigger problems down the road, especially when making a future compiler upgrade.
I hope that helps!
Joey Gaspe
SDK Support Engineer