C:\test>ICobject.pl Starting Build Preprocess Stage Finished Build Preprocess Stage Starting Build Parse Stage Finished Build Parse Stage Starting Build Glue 1 Stage Finished Build Glue 1 Stage Starting Build Glue 2 Stage Finished Build Glue 2 Stage Starting Build Glue 3 Stage Finished Build Glue 3 Stage Starting Build Compile Stage Starting "perl Makefile.PL" Stage Writing Makefile for ICobject Finished "perl Makefile.PL" Stage Starting "make" Stage Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. C:\Perl64\bin\perl.exe C:\Perl64\lib\ExtUtils\xsubpp -typemap C:\Perl cl -c -IC:/test -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -fp:precise ICobject.c Running Mkbootstrap for ICobject () C:\Perl64\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 ICobject. C:\Perl64\bin\perl.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=> link -out:blib\arch\auto\ICobject\ICobject.dll -dll -nologo -nodefault Creating library blib\arch\auto\ICobject\ICobject.lib and object blib\arch\ Generating code Finished generating code if exist blib\arch\auto\ICobject\ICobject.dll.manifest mt -nologo -man if exist blib\arch\auto\ICobject\ICobject.dll.manifest del blib\arch\a C:\Perl64\bin\perl.exe -MExtUtils::Command -e "chmod" -- 755 blib\arch C:\Perl64\bin\perl.exe -MExtUtils::Command -e "cp" -- ICobject.bs blib C:\Perl64\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 blib\arch Finished "make" Stage Starting "make install" Stage Microsoft (R) Program Maintenance Utility Version 9.00.21022.08 Copyright (C) Microsoft Corporation. All rights reserved. Files found in blib\arch: installing files in blib\lib into architecture depen Installing C:\test\_Inline\lib\auto\ICobject\ICobject.dll Installing C:\test\_Inline\lib\auto\ICobject\ICobject.exp Installing C:\test\_Inline\lib\auto\ICobject\ICobject.lib Installing C:\test\_Inline\lib\auto\ICobject\ICobject.pdb Finished "make install" Stage Starting Cleaning Up Stage Finished Cleaning Up Stage Finished Build Compile Stage new SV = RV(0xe7bd8) at 0xe7bc8 REFCNT = 1 FLAGS = (PADMY,ROK) RV = 0x3a89d70 SV = PVMG(0x3a2ff78) at 0x3a89d70 REFCNT = 1 FLAGS = (OBJECT,IOK,pIOK) IV = 867784 NV = 0 PV = 0 STASH = 0x1cde08 "Node" Node=SCALAR(0x3a89d70) Can't locate object method "insert" via package "Node" at C:\test\ICobject.pl #### #! perl -slw package NODE; use Inline C => Config => BUILD_NOISY => 1; #, TYPEMAPS => './ICobject.tmap'; use Inline C => <<'END_C', NAME => 'ICobject', CLEAN_AFTER_BUILD => 0; struct _node { struct _node *left; struct _node *right; }; typedef struct _node Node; Node* new( char *class ) { Node* node; warn("new\n"); // DEBUG Newx(node, 1, Node); // node->... = ...; return node; } Node* insert( Node* root ) { warn("insert\n"); // DEBUG return root; } void DESTROY(Node* node) { warn("DESTROY\n"); // DEBUG Safefree(node); } END_C package main; use strict; use Devel::Peek; my $tree = NODE->new(); print Dump $tree; print $tree; $tree->insert( 'fred', 3 );