我是Tcl脚本新手,想用C嵌入Tcl代码。 这是我从网站上复制的代码,用于测试Tcl-C的工作。Tcl解释器在使用gcc编译时未定义的引用错误
test.c的
#include <stdio.h>
#include <tcl.h>
void main()
{
Tcl_Interp *myinterp;
char *action = "set a [expr 5 * 8]; puts $a";
int status;
printf ("Your Program will run ... \n");
myinterp = Tcl_CreateInterp();
status = Tcl_Eval(myinterp,action);
printf ("Your Program has completed\n");
getch();
}
我使用MinGW的编译此文件。
我抄C的内容:\ Tcl的\包括夹入C:\ MinGW的\包括文件夹为好。
我对GCC编译命令:
gcc -o test.exe test.c
所示的错误消息:
C:\Users\user\AppData\Local\Temp\ccEHJKCb.o:tcl_connection_test.c:(.text+0x23): undefined reference to `_imp__Tcl_CreateInterp'
C:\Users\user\AppData\Local\Temp\ccEHJKCb.o:tcl_connection_test.c:(.text+0x3d): undefined reference to `_imp__Tcl_Eval'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\user\AppData\Local\Temp\ccEHJKCb.o: bad reloc address 0x20 in section `.eh_frame'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status
我不似乎有在Tcl文件夹的任何libtcl文件。
Tcl版本是ActiveTcl 8.5.15.0.297577。
任何帮助将非常感激。
好老株/非存根问题.. –
我不知道那经典的问题是什么 – theClassicFreak