Linking issues on Mac OSX 10.5 x86_64



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

    On 25/09/2009 at 17:38, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:    
    Platform:      
    Language(s) :

    ---------
    Hello All,

    I'm running into linking issues against the sdk static library when building a GvOperatorData plugin in x86_64 mode. This plugin builds perfectly in i386 mode.

    Here is the errors I'm getting:
    Undefined symbols:
    "GvOperatorData::BodyMessage(GvNode*, GvNodeGUI*, long, long, long, long, BaseContainer const&)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "NodeData::IsInstanceOf(GeListNode const*, long) const", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::GetErrorString(GvNode*, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::GetDescID(GvNode*, GvPortIO, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::iGetPortDescription(GvNode*, GvPortIO, long, GvPortDescription* )", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "FindCustomDataTypePlugin(long)", referenced from:
          GvBcdCamera::GetPortGeData(GvNode*, GvPort*, GvRun*, GeData&)    in GvBcdCameraNode.os
    "GvOperatorData::GetDEnabling(GeListNode*, DescID const&, GeData&, long, BaseContainer const* )", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::GetBodySize(GvNode*, long*, long* )", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvRegisterOperatorPlugin(long, String const&, long, NodeData* (* )(), String const&, long, long, long, long, BaseBitmap* )", referenced from:
          RegisterGVBcdCamera()     in GvBcdCameraNode.os
    "GvOperatorData::OperatorMenuCommand(GvNode*, long, long, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "PluginMessage(int, void* )", referenced from:
          _c4d_main in libc4d_release.a(c4d_pmain.o)
    "NodeData::Message(GeListNode*, long, void* )", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::GetDParameter(GeListNode*, DescID const&, GeData&, long&)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::FillPortMenu(GvNode*, BaseContainer&, long, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "NodeData::GetBranchInfoEx(GeListNode*, BranchInfo*, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::GetPortIcon(GvNode*, long, GvLayoutType)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::FillPortsMenu(GvNode*, BaseContainer&, BaseContainer&, long, GvPortIO, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "NodeData::CopyTo(NodeData*, GeListNode*, GeListNode*, long, AliasTrans* )", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "NodeData::Read(GeListNode*, HyperFile*, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::SceneDraw(GvNode*, BaseDraw*, BaseDrawHelp*, BaseThread*, long, void*, unsigned long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::SetDParameter(GeListNode*, DescID const&, GeData const&, long&)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::FillOperatorMenu(GvNode*, BaseContainer&, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::EditorDraw(GvNode*, GvNodeGUI*, GeUserArea*, long, long, long, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::GetDDescription(GeListNode*, Description*, long&)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "NodeData::GetBranchInfo(GeListNode*, BranchInfo*, long, unsigned long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GvOperatorData::PortMenuCommand(GvNode*, long, long, long, long)", referenced from:
          vtable for GvBcdCamerain GvBcdCameraNode.os
    "GeLoadString(long)", referenced from:
          RegisterGVBcdCamera()     in GvBcdCameraNode.os
    ld: symbol(s) not found

    The linker flags i'm using for x86_64 are the following:
    -o ./output/MyGvNode.dylib
    -m64
    -fno-common
    -flat_namespace
    -bundle
    -lm
    -lc4d_release

    The only different flag in building the i386 version is "-m32".

    BTW i renamed lib_api_release.a to libc4d_release.a. C4d gurus, could you shed some light on this?

    Thanks,
    Wei



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

    On 25/09/2009 at 17:40, xxxxxxxx wrote:

    Some additional information:
    Mac OSX 15.0
    C4D R11.026 (64 bit) (Build F|15745)
    Gcc 4.0



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

    On 28/09/2009 at 14:50, xxxxxxxx wrote:

    Anyone?

    I'd really appreciate your help. Could anybody who's had success building 64-bit version of their plug-ins chime in?

    Thanks very much!
    Wei



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

    On 28/09/2009 at 15:30, xxxxxxxx wrote:

    Are you using the cinema4dsdk.xcodeproj as a template for your plugin project? You can't just use any old project settings - you want to stick with those in that project and modify carefully.


Log in to reply