下载tcc-0.9.27,按照win32目录下的说明,使用vc2010自带的命令行工具运行如下代码:
cl /MD examples/libtcc_test.c -I libtcc libtcc.lib
可以生成libtcc_test.exe
我自己用vc2010新建了一个空的Win32控制台应用程序,将
libtcc_test.c
libtcc.h
libtcc.lib
libtcc.dll
都拷到了工程目录中,将libtcc_test.c 和libtcc.h加入到了工程,
并在libtcc_test.c的开头加入了语句#pragma comment(lib,"libtcc.lib")
可是编译执行,提示如下:
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_delete,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_get_symbol,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_relocate,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_add_symbol,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_compile_string,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_set_output_type,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_add_library_path,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_add_include_path,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_set_lib_path,该符号在函数 _main 中被引用
1>libtcc_test.obj : error LNK2019: 无法解析的外部符号 _tcc_new,该符号在函数 _main 中被引用
我用dumpbin /exports 命令检查libtcc.lib的导出函数,都是如下的:
tcc_add_file
tcc_add_include_path
tcc_add_library
tcc_add_library_err
tcc_add_library_path
tcc_add_symbol
tcc_add_sysinclude_path
tcc_basename
tcc_compile_string
……
实在搞不懂为什么会找不到函数?
哪位朋友遇到过?或者对这一块比较懂,还请赐教!万分感谢!