主题:[求助]使用STL模板库有问题 共有53670人关注过本帖 |
---|
![]() yangdan1982 |
1楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
[求助]使用STL模板库有问题 ![]() 您好, 目前我使用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楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
试了下,单独引用#include <vector>并不会出错,你可以自己新建个工程看看。
错误提示的是set_new_handler声明和引用的定义冲突,而且这个set_new_handler也不是vector头文件里定义的。 会不会你的工程是从别的平台直接搬过来的,工程目录下有别的平台里的头文件,所以有冲突。
[此贴子已经被作者于2015-11-10 9:36:34编辑过]
|
单帖管理 | 引用 | 回复 ![]() |
客人 |
3楼 |
![]() |
![]()
我就是新建一个MFC工程,然后单独引用#include <vector>出错的
|
单帖管理 | 引用 | 回复 ![]() |
![]() yy |
4楼 信息 | 搜索 | 邮箱 |
![]() ![]() ![]() ![]() |
![]()
把SDK目录,默认C:\Program Files\Windows CE Tools\SDKs\EM335x_CE8\Sdk\Inc\Cestl下的new文件里的59,60行关于set_new_handler的部分注释掉就好了。
|
单帖管理 | 引用 | 回复 ![]() |