VS2005编译出现error C2375的问题

问题描述

VS2005编译出现error C2375的问题
MFC的工程,也用到了OPENGL。之前编译链接运行都没有问题,但是现在要增加一个模块,打算用vector来写,所以include了<vector>(代码完全没变,就增加了一行#include<vector>).这时候编译报错

1>c:program filesmicrosoft visual studio 8vcincludeeh.h(58) : error C2375: “terminate”: 重定义;不同的链接
1> c:virtualsimvsrad2.0includeruntime.h(122) : 参见“terminate”的声明
runtime.h也是一个用到的外部库,里面的terminate函数其实在程序里面并没有使用。求问高手有什么解决办法。

解决方案

因为terminate在程序里面没有用到所以在run_time.h中把terminate函数的声明注释掉了,现在编译也是可以通过了。
不知道这样会不会有什么问题,有没有更好的解决方法。
其次,注释掉之后还出现了链接错误1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _printf 已经在 Libcmtd.lib(printf.obj) 中定义
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _rand 已经在 Libcmtd.lib(rand.obj) 中定义
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" (??1exception@std@@UAE@XZ) 已经在 Libcmtd.lib(stdexcpt.obj) 中定义
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: "public: __thiscall std::exception::exception(void)" (??0exception@std@@QAE@XZ) 已经在 Libcmtd.lib(stdexcpt.obj) 中定义
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) 已经在 Libcmtd.lib(stdexcpt.obj) 中定义
1>MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: "public: __thiscall std::exception::exception(char const * const &)" (??0exception@std@@QAE@ABQBD@Z) 已经在 Libcmtd.lib(stdexcpt.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) 中定义

解决方案二:

重复定义,两个库有冲突。

解决方案三:

是你的线程模式和lib定义的不一样,所以同样的函数重复定义了,根据这个图的指示重新设置下。

时间: 2024-10-10 17:08:54

VS2005编译出现error C2375的问题的相关文章

Darwin Streaming Server用vs2005编译运行过程

原创.       一:编译 Darwin6.0.3版本是最新版本,也提供了.dsw文件.但是使用vs2005和vc6是编译不过的.所以,采用Darwin5.5.5版本.使用vc6打开WinNTSupport文件夹下的.dsw工程,直接batch build,可一步生成. 使用vc编译速度快,但是调试和看代码不如2005方便.下面主要是使用vs2005编译的问题. 转换vs2005的sln后,提示没有StreamingloadingTool这个工程,不用管,因为服务器不依赖于该工程. (1)  

测试-c语言程序编译出错error: syntax error before &amp;amp;quot;typedef&amp;amp;quot;

问题描述 c语言程序编译出错error: syntax error before "typedef" 设计的一个顺序循环队列和测试函数,结果编译的时候就有好多error: syntax error before ""不知道要怎么改,求帮助~ 这是我的代码: 头文件: #include typedef struct SeqCQueue { DataType queue[MaxQueueSize]; int MaxQueueSize; int rear; int fro

keil编译时 error C141: syntax error near &amp;amp;#39;)&amp;amp;#39;

问题描述 keil编译时 error C141: syntax error near ')' 简单的烟雾报警程序中先是缺少了lcd1602的头文件 我从网上找了添加了后发现有错误 求大神帮我解答一下疑问 谢谢了 /******************************** FILE NAME: lcd1602.c CHIP TYPE: AT89C51 CLOCK FREQUENCY: 12MHZ IDE: VSMStudio COMPILER: IAR for 8051 TIME: Sep

命令编译和error C2664

问题描述 命令编译和error C2664 编译可执行程序时,说明书上这样写: "使用下面的命令编译它 g++ -o test tetcall.cxx -L./ -ltet" 请问命令编译是调用cmd窗口吗?还是什么意思?命令编译和用visual studio编译是什么关系? 另外,我尝试用vs编译时遇到了"error C2664: "tetrahedralize": 不能将参数 1 从"const char [12]"转换为"

Win7+VS2005 编译项目经常提示存储空间不足,无法完成此操作

问题描述 Win7+VS2005 编译项目经常提示存储空间不足,无法完成此操作 如题,这个怎么解决,一天出现好多次,每次关闭VS后再打开就好了 解决方案 VS2005 的 SP 包都安装了吗? 如果还是不行,试试 VS2008 或更新的版本,如 VS2015

sys syslimits h-cocos2d-x移植到安卓 编译时error:sys/syslimits.h:No such file

问题描述 cocos2d-x移植到安卓 编译时error:sys/syslimits.h:No such file cygwin下执行./build_native.sh后的错误代码: D:/android-ndk-r8b/platforms/android-8/arch-arm/usr/include/limits.h:89:27: fatal error: sys/syslimits.h: No such file or directory 我查找对应usr/include/sys/下确实没有

编译出错-调用logc4xx-0.10.0,加头文件,编译出现error C2252

问题描述 调用logc4xx-0.10.0,加头文件,编译出现error C2252 通过网上相关文章,我配置好了log4cxx和测试也成功了. 接下来,我就添加了#include "log4cxx/net/socketappender.h"头文件,编译,就报错 e:201509log4cxxtyapache-log4cxx-0.10.0srcmainincludelog4cxxspiloggingevent.h(155): error C2252: 只能在命名空间范围内显式实例化模板

链表-c语言编译 出现error C2061 和error C2059

问题描述 c语言编译 出现error C2061 和error C2059 不知道为什么一直出现说我标识符有问题的提示,我看了下以前编的程序,好像也是这样写法的啊,不知这次怎么会这样.求各位大神相助. #include <stdio.h> #include <stdlib.h> struct Jihe{ char nodeSet; struct Jihe* next; }; bool Initiate(struct Jihe** head){ *head = (struct Jih

程序-vs2005编译代码后的调试问题

问题描述 vs2005编译代码后的调试问题 用vs2005编译生成了一个exe程序,这个程序是在另外一个程序执行过程中被调用的,怎么能在另一个程序调用此exe的时候用vs2005启动这个exe程序的调试呢,我知道vs有一个附加到进程的功能,但是这个exe程序不是一直存在,只再被调用的时候存在一会儿 解决方案 这个没办法,一般这种情况都是加日志来分析运行时的状态信息.