我希望在ARM处理器上为eCos构建一个C++应用程序。我的程序需要几个标准的C++头文件,如向量,流,列表,...
我的问题是:我如何才能做到这一点?有没有人有为eCos构建和部署C++应用程序的经验?
当我使用arm-eabi-g++编译器编译应用程序时,我得到以下错误
fatal error: vector: No such file or directory这意味着C++向量库不存在。
但是,arm-none eabi-g++编译器确实包含了这些标准的头文件。我得到了以下关于‘’的错误:
In file included from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/bits/locale_facets.h:43:0,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/bits/basic_ios.h:39,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/ios:45,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/ostream:40,
from /opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/iostream:40,
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:44:35: error: '_U' was not declared in this scope
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:45:32: error: '_L' was not declared in this scope
/opt/arm-2010.09/bin/../lib/gcc/arm-none-eabi/4.5.1/../../../../arm-none-eabi/include/c++/4.5.1/arm-none-eabi/bits/ctype_base.h:46:32: error: '_U' was not declared in this scope
...我可以使用eCos的arm-none-eabi-g++编译器吗?如果是,我如何解决这些错误?如果没有,我应该怎么做?
首先要感谢大家!
发布于 2013-08-29 22:40:24
vector, list,它们基本上属于Standard template library。对于ecos,可能会有类似的东西可用,同样也是BOOST。我想你可以查看this link
发布于 2015-10-14 04:27:56
你需要ustl。参见Using uSTL in eCos applications。
这里有一个使用vector的简短示例。
您必须包括
#include <ustl.h>然后你可以像这样实例化一个向量:
ustl::vector<int> v(2);https://stackoverflow.com/questions/18513778
复制相似问题