- 我先用空项目 添加了lua的文件 生成了 lua.lib文件
- 我创建了一个MFC_DLL文件
1)在项目->属性->C/C++->附加包含目录里包含了 lua所有.h .c的文件夹 2)在项目->属性->连接器->常规->附加库目录里包含了lua.lib的文件夹 3)在项目->属性->连接器->输入->附加依赖项里输入了lua.lib
我创建的 .h文件的代码
#infndef LUASSSS_H
#define LUASSSS_H
#include
extern "C"
{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
extern lua_State *L;
#endif
我创建的 .cpp文件的代码
#include "StdAfx.h"
#include "Luassss.h"
lua_State *L = luaL_newstate();
代码显示无错误 但是编译的时候出现各种错误 请问是我哪里出错了?????
谢谢帮忙 我自己摸索了2天都没搞定 头都大了
error LNK2005: strstr 已经在 libcmtd.lib(strstr.obj) 中定义
error LNK2005: _strchr 已经在 libcmtd.lib(strchr.obj) 中定义
error LNK2005: _fclose 已经在 libcmtd.lib(fclose.obj) 中定义
error LNK2005: _ferror 已经在 libcmtd.lib(feoferr.obj) 中定义
error LNK2005: _ungetc 已经在 libcmtd.lib(ungetc.obj) 中定义
error LNK2005: __iob_func 已经在 libcmtd.lib(_file.obj) 中定义
error LNK2005: fread 已经在 libcmtd.lib(fread.obj) 中定义
error LNK2005: _feof 已经在 libcmtd.lib(feoferr.obj) 中定义
error LNK2005: __errno 已经在 libcmtd.lib(dosmap.obj) 中定义
error LNK2005: _realloc 已经在 libcmtd.lib(dbgrealloc.obj) 中定义
error LNK2005: _free 已经在 libcmtd.lib(dbgfree.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _exit 已经在 libcmtd.lib(crt0dat.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isspace 已经在 libcmtd.lib(_ctype.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strtoul 已经在 libcmtd.lib(strtol.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strtod 已经在 libcmtd.lib(strtod.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _sprintf 已经在 libcmtd.lib(sprintf.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strcspn 已经在 libcmtd.lib(strcspn.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strcoll 已经在 libcmtd.lib(strcoll.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _floor 已经在 libcmtd.lib(_floor_pentium4.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _iscntrl 已经在 libcmtd.lib(_ctype.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isalnum 已经在 libcmtd.lib(_ctype.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isalpha 已经在 libcmtd.lib(_ctype.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isdigit 已经在 libcmtd.lib(_ctype.obj) 中定义
1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _localeconv 已经在 libcmtd.lib(lconv.obj) 中定义
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
1> 正在创建库 ..\test\testdll.lib 和对象 ..\test\testdll.exp
1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
1>..\test\testdll.dll : fatal error LNK1169: 找到一个或多个多重定义的符号
1>
1>生成失败。
1>
1>已用时间 00:00:01.05
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========