wow swig looks amazing. i just tried to build it under mingw with swig.
here are commands and outputs (i used the tutorial as a reference
http://www.swig.org/tutorial.html)
/include/tcl contains the tcl headers
% swig -tcl gpc.i
% gcc -fpic -c gpc.c gpc_wrap.c -I/include/tcl
gpc.c:1:0: Warnung: -fpic für Ziel ignoriert (der gesamte Code ist positionsunabhängig) [standardmäßig aktiviert]
gpc_wrap.c:1:0: Warnung: -fpic für Ziel ignoriert (der gesamte Code ist positionsunabhängig) [standardmäßig aktiviert]
% gcc -shared gpc.o gpc_wrap.o -o gpc.dll
gpc_wrap.o:gpc_wrap.c:(.text+0x96b): undefined reference to `_imp__Tcl_ResetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x97f): undefined reference to `_imp__Tcl_SetObjResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x9a3): undefined reference to `_imp__Tcl_SetErrorCode'
gpc_wrap.o:gpc_wrap.c:(.text+0x9b8): undefined reference to `_imp__Tcl_ResetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x9dc): undefined reference to `_imp__Tcl_SetErrorCode'
gpc_wrap.o:gpc_wrap.c:(.text+0xa07): undefined reference to `_imp__Tcl_AppendResult'
gpc_wrap.o:gpc_wrap.c:(.text+0xa24): undefined reference to `_imp__Tcl_NewStringObj'
gpc_wrap.o:gpc_wrap.c:(.text+0xa4c): undefined reference to `_imp__Tcl_ObjSetVar2'
gpc_wrap.o:gpc_wrap.c:(.text+0xad8): undefined reference to `_imp__Tcl_InitHashTable'
gpc_wrap.o:gpc_wrap.c:(.text+0xb82): undefined reference to `_imp__Tcl_DeleteHashEntry'
gpc_wrap.o:gpc_wrap.c:(.text+0xc00): undefined reference to `_imp__Tcl_VarEval'
gpc_wrap.o:gpc_wrap.c:(.text+0xc11): undefined reference to `_imp__Tcl_GetObjResult'
gpc_wrap.o:gpc_wrap.c:(.text+0xc29): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0xc3c): undefined reference to `_imp__Tcl_ResetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0xc53): undefined reference to `_imp__Tcl_ResetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0xc81): undefined reference to `_imp__Tcl_VarEval'
gpc_wrap.o:gpc_wrap.c:(.text+0xc92): undefined reference to `_imp__Tcl_ResetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0xca9): undefined reference to `_imp__Tcl_GetObjResult'
gpc_wrap.o:gpc_wrap.c:(.text+0xcbb): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0xda7): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0xe37): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0xf3b): undefined reference to `_imp__Tcl_NewStringObj'
gpc_wrap.o:gpc_wrap.c:(.text+0xfcc): undefined reference to `_imp__Tcl_NewStringObj'
gpc_wrap.o:gpc_wrap.c:(.text+0xfff): undefined reference to `_imp__Tcl_GetVar'
gpc_wrap.o:gpc_wrap.c:(.text+0x107d): undefined reference to `_imp__Tcl_SetVar'
gpc_wrap.o:gpc_wrap.c:(.text+0x10ed): undefined reference to `_imp__TclFreeObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1140): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1164): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1211): undefined reference to `_imp__Tcl_DeleteCommandFromToken'
gpc_wrap.o:gpc_wrap.c:(.text+0x13ff): undefined reference to `_imp__TclFreeObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1445): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1469): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1511): undefined reference to `_imp__TclFreeObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1556): undefined reference to `_imp__Tcl_DuplicateObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1567): undefined reference to `_imp__Tcl_SetObjResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x15bb): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x15da): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1622): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x165b): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1731): undefined reference to `_imp__TclFreeObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x17bb): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x17f9): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1820): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1850): undefined reference to `_imp__Tcl_GetStringResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x18e3): undefined reference to `_imp__Tcl_AppendElement'
gpc_wrap.o:gpc_wrap.c:(.text+0x197e): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x199c): undefined reference to `_imp__Tcl_GetCommandInfo'
gpc_wrap.o:gpc_wrap.c:(.text+0x19c6): undefined reference to `_imp__Tcl_DuplicateObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1a08): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1a30): undefined reference to `_imp__Tcl_CreateObjCommand'
gpc_wrap.o:gpc_wrap.c:(.text+0x1ab4): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1aeb): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1b73): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1c02): undefined reference to `_imp__Tcl_GetObjResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1c0c): undefined reference to `_imp__Tcl_DuplicateObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1c2e): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1c66): undefined reference to `_imp__Tcl_DuplicateObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1c84): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1ca6): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1ccd): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1d2b): undefined reference to `_imp__TclFreeObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1db0): undefined reference to `_imp__Tcl_CreateObjCommand'
gpc_wrap.o:gpc_wrap.c:(.text+0x1e2f): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x1e8e): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1f03): undefined reference to `_imp__Tcl_GetLongFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x1fa5): undefined reference to `_imp__Tcl_GetDoubleFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x2027): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x2049): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x2068): undefined reference to `_imp__Tcl_GetStringFromObj'
gpc_wrap.o:gpc_wrap.c:(.text+0x2127): undefined reference to `_imp__Tcl_SetResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x21bc): undefined reference to `_imp__Tcl_AppendResult'
gpc_wrap.o:gpc_wrap.c:(.text+0x251c): undefined reference to `_imp__Tcl_InitHashTable'
gpc_wrap.o:gpc_wrap.c:(.text+0x2676): undefined reference to `_imp__Tcl_InitHashTable'
gpc_wrap.o:gpc_wrap.c:(.text+0x270f): undefined reference to `_imp__Tcl_PkgProvide'
gpc_wrap.o:gpc_wrap.c:(.text+0x2724): undefined reference to `_imp__Tcl_Eval'
gpc_wrap.o:gpc_wrap.c:(.text+0x2797): undefined reference to `_imp__Tcl_CreateObjCommand'
gpc_wrap.o:gpc_wrap.c:(.text+0x27eb): undefined reference to `_imp__Tcl_SetVar'
gpc_wrap.o:gpc_wrap.c:(.text+0x2833): undefined reference to `_imp__Tcl_TraceVar'
gpc_wrap.o:gpc_wrap.c:(.text+0x287b): undefined reference to `_imp__Tcl_TraceVar'
collect2.exe: Fehler: ld gab 1 als Ende-Status zurück
as you can see the dll is not compiled.
my gpc.i contains the following data:
%module gpc
%{
#include "gpc.h"
%}
#include "gpc.h"
any ideas whats wrong?