Getting a fatal error when compiling...

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 17/03/2006 at 11:12, xxxxxxxx wrote:

User Information:
Cinema 4D Version:   9.1 
Platform:   Windows  ;   
Language(s) :     C++  ;

---------
Hi,

I've just recently decided to delve into the world of C++ plugin development. I've already made a COFFEE plugin, but C++ seems to be more powerful, so I'm trying to switch over.

Anyway, I'm using Visual C++ 2005 Express Edition, and when I try to 'build' a solution, or compile the whole thing, I get a fatal error:

LINK : fatal error LNK1104: cannot open file 'odbc32.lib'

Now, could this be because I'm using the Express Edition or is it perhaps a common mistake I've made?

Hope you can help me 🙂

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 18/03/2006 at 10:06, xxxxxxxx wrote:

Hi,

I just got the same problem with 9.521. Hope that someone can solve the problem. I fear, it's an "express" limitation. Since you can download this package for free, it would be toooo easy :-).

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 19/03/2006 at 08:40, xxxxxxxx wrote:

You guys probably forgot to download the Platform SDK.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 19/03/2006 at 12:47, xxxxxxxx wrote:

Yep, you're right, I forgot to download the platform sdk, but now that I've done that, I'm getting even more errors. More than 1500 of them.

Any idea what causes this?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 20/03/2006 at 07:35, xxxxxxxx wrote:

The new errors look like this:

Main.obj : error LNK2019: unresolved external symbol "public: int __thiscall GeResource::Init(void)" ([email protected]@@QAEHXZ) referenced in function "int __cdecl PluginMessage(long,void * )" ([email protected]@[email protected])

They're all about 'unresolved external symbol'.

Any help?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 20/03/2006 at 12:36, xxxxxxxx wrote:

It sounds like you're not linking with the SDK project lib files... within your workspace, do you have a project named "_api_v8" ?  if so, set your project's 'Dependencies' to depend on that project.  Otherwise, you'll need to add a lib to your link line (like "_api_v8_deb.lib"... look in the \MAXON\CINEMA 4D R9\resource\_api_lib folder for the appropriate libs).

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 21/03/2006 at 12:54, xxxxxxxx wrote:

Well, that might be the problem, but I'm having trouble building the api. Here's what I get when trying to build the cinema4dsdk with the api as dependency:

------ Build started: Project: _api_v8, Configuration: Debug Win32 ------
Compiling...
lib_ngon.cpp
j:\c4d\maxon\cinema 4d r9\resource\_api\c4d_libs\lib_ngon.h(212) : error C2383: 'NgonBaseLib::FindPolygon' : default-arguments are not allowed on this symbol
c4d_baseobject.cpp
j:\c4d\maxon\cinema 4d r9\resource\_api\c4d_libs\lib_ngon.h(212) : error C2383: 'NgonBaseLib::FindPolygon' : default-arguments are not allowed on this symbol
Generating Code...
Build log was saved at "file://j:\c4d\MAXON\CINEMA 4D R9\resource\_api_lib\obj\sdk_deb\BuildLog.htm"
_api_v8 - 2 error(s), 0 warning(s)
------ Build started: Project: cinema4dsdk, Configuration: Debug Win32 ------
Linking...
LINK : fatal error LNK1104: cannot open file '..\..\resource\_api_lib\_api_v8_deb.lib'
Build log was saved at "file://j:\c4d\MAXON\CINEMA 4D R9\plugins\Kopi af cinema4dsdk\obj\sdk_deb\BuildLog.htm"
cinema4dsdk - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========

Now, the errors seem to be about Ngons. Is there any way to fix this?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 25/03/2006 at 06:11, xxxxxxxx wrote:

Any help?

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 25/03/2006 at 14:25, xxxxxxxx wrote:

Yes, default arguments are 'banned' from newer VS C++ behavior. That is, things like this:

void MyMethod(INT value = 0);

where '= 0' is a default-argument value on 'INT value'. You will need to do two things to fix this:

1. In any calls to an SDK method where you have omitted arguments in order to accept the 'default-argument', you will need to put the default value in its place explicitly. i.e.: MyMethod(0).

2. In the definitions of any SDK methods using default-arguments, you will need to remove the '= X'. i.e.: void MyMethod(INT value);

You will probably encounter more of these as you fix others.

THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

On 26/03/2006 at 02:14, xxxxxxxx wrote:

Thanks, that helped. It compiled without any problems this time.

Now to make plugins 🙂