haowozao 2019-12-27 22:21 采纳率: 0%
浏览 362

DLL文件包含自己生成的lib文件,编译错误

  1. 我先用空项目 添加了lua的文件 生成了 lua.lib文件
  2. 我创建了一个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 个 ==========

  • 写回答

1条回答 默认 最新

  • zqbnqsdsmd 2019-12-28 13:59
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题