主题:[求助]使用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的部分注释掉就好了。
|
单帖管理 | 引用 | 回复 |