Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Hi folks, I want to tell you that everything works fine now. I have no quick fix to post here, because it as a rather big endeavor. The errors I had stem from migrating the old C4D R13 project upwards. A wrong linker path, a missing include path, then it compiles, but there is an illegal instruction etc. etc. Several days of hard labor, now it works. Thank you for your help, I will soon need more of it!
-Ingvar
Hi everybody, I have investigated, and found out more. In general, what happens, is that this "breakpoint" actually is a CRITICAL Stop. The output window says:
p:\c4d_perforce_work\release\16.0\modules\c4dplugin\source\src\richard\genesis\ge_container.h(329): CRITICAL: Stop CINEMA 4D.exe has triggered a breakpoint.
There are several causes. It happens when
BaseLink* GetBaseLink(void)
is called, among other things. My plugin is rather big, so to say. Many tags, lots of classes and thousands of lines with source code. I wrote it back in 2013. And it works fine in the old C4D versions, compiled in VS 2010. It is the transition to the newer SKD which is making problems. I have now, since my last post, made the plugin load, without problems, albeit with much of the functionality disabled (commented out). What I need now, is time to relearn the SDK, and relearn how the C4D plugin system works. And gradually transfer my source code so that it is compatible with newer SDK versions. So I am, step by step, trying to make it work again, by uncommenting code and run tests. Be prepared for more questions from me For my part, this case can be closed as solved.
@m_magalhaes said in VS 2012 complains -c4dplugin.pdb not included:
Does this breakpoint happen when you add one of your tag on the scene?
Yes. Exactly then. I am thankful for all help, and will come back. However, I will try to investigate this matter a little more on my own, before I share the code. I have a simple plugin which works, so I will try to compare them and thereby possible find the cause. In any case I will publish my findings here.
Update: There might be something wrong in my plugin, which causes this. Memory access error or the like. Which can make VS think that a breakpoint has been set. These things are hard to track down.. any hint where to look would be much appreciated.
Hi and thank you for ypur reponse, Frank! I wrote: I haven't set any breakpoints, whatsoever. The question is, how comes Visual Studio thinks there is a breakpoint, where there is not breakpoint. Is something suspicious here cached somewhere? Is there file(s) I should delete, where (old) breakpoints are stored?
Hi, I am trying to gradually get up to speed again, writing C++ plugins. I want to make my rather comprehensive set of tag plugins work again, I wrote this in 2013. I made everything compile in VS 2012, and it runs fine in C4D R16 and R17, when I am not debugging. However, when I try to debug for VS 2012, I consequently get this error when I add my tag to a C4D Object.
How can I move forward now? This happens consequently , and VIsual Studio enters into a dead-loop, showing the error message all the time. Making it impossible to debug my plugin. I haven't set any breakpoints, whatsoever. -Ingvar
Hi and thanks for this. It is my bad.. I didn't read the docs carefully enough / or did not understand the docs. Now this works! -Ingvar
Hi, I am working my way up from C4D R16, yes, I have all C4D Studio versions R13-R23, but I really want this to work. SDK = C4D R16 Here is the code:
/////// The customGUI's data class /////////////// class SliderData : public CustomGuiData { typedef CustomGuiData super; public: virtual Int32 GetId() { return LIBRAY_ID; } //Gets the ID# we defined at the top for this gizmo virtual CDialog *Alloc(const BaseContainer &settings) { // Next line compiler complains GeDialog *dlg = gNew MyCustomGui(settings, GetPlugin()); if (!dlg) return NULL; return dlg->Get(); } virtual void Free(CDialog *dlg, void *ud) { if (dlg) { // Old does not work //gDelete((GeDialog*&) dlg); //Free the memory used by allocating dlg //New - no complaints DeleteObj((GeDialog*&) dlg); //Free the memory used by allocating dlg } }
So my question is - how can I rewrite the line containing gNew, so that it works again? (Works fine in R14). I have tried with NewObj() and NewObjClear() - compiler still complains. -Ingvar
Hi Ferdinand, thanks a lot for this! I developed some plugins for C4D, for my own use, almost 10 years ago. I also used the forums back then. And had forgotten this. So it is back to start. My old posts are likely gone, I assume. -Ingvar
From version R20 and up, there is a file sdk.zip in the C4D root directory, after the application has been installed. But where can I get the C++ SDK for version R15, R16, R17, R18 and R19?