主题:[求助]使用STL模板库有问题

  共有37733人关注过本帖    
美女呀,离线,留言给我吧!
yangdan1982
1楼 信息 | 搜索 | 邮箱


加好友 发短信
[求助]使用STL模板库有问题  发帖心情 Post By:2015-11-6 18:27:00   [只看该作者]

您好,


目前我使用EM335X_CE8开发包写程序遇到了问题。


我在一个cpp文件的最开始加:#include <vector>,会报如下错误:


1>C:\Program Files (x86)\Windows CE Tools\SDKs\EM335x_CE8\sdk\Inc\cestl\new(60): error C2883: 'set_new_handler' : function declaration conflicts with 'std::set_new_handler' introduced by using-declaration

1>          C:\Program Files (x86)\Windows CE Tools\SDKs\EM335x_CE8\sdk\crt\Include\new.h(52) : see declaration of 'std::set_new_handler'

1>C:\Program Files (x86)\Windows CE Tools\SDKs\EM335x_CE8\sdk\Inc\cestl\new(60): warning C4273: 'std::set_new_handler' : inconsistent dll linkage

1>          C:\Program Files (x86)\Windows CE Tools\SDKs\EM335x_CE8\sdk\crt\Include\new.h(52) : see previous definition of 'set_new_handler'


请问这是怎么回事?


  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
2楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2015-11-9 20:49:00   [只看该作者]

试了下,单独引用#include <vector>并不会出错,你可以自己新建个工程看看。
错误提示的是set_new_handler声明和引用的定义冲突,而且这个set_new_handler也不是vector头文件里定义的。
会不会你的工程是从别的平台直接搬过来的,工程目录下有别的平台里的头文件,所以有冲突。
[此贴子已经被作者于2015-11-10 9:36:34编辑过]

  单帖管理 | 引用 | 回复 回到顶部
客人
3楼


  发帖心情 Post By:2015-11-10 14:20:00   [只看该作者]

我就是新建一个MFC工程,然后单独引用#include <vector>出错的

  单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
yy
4楼 信息 | 搜索 | 邮箱


加好友 发短信
  发帖心情 Post By:2015-11-11 10:17:00   [只看该作者]

把SDK目录,默认C:\Program Files\Windows CE Tools\SDKs\EM335x_CE8\Sdk\Inc\Cestl下的new文件里的59,60行关于set_new_handler的部分注释掉就好了。

  单帖管理 | 引用 | 回复 回到顶部

返回首页

[求助]使用STL模板库有问题

用户名:
            验证码: 验证码,看不清楚?请点击刷新验证码
内容: