CB6编译boost出现如下错误,怎么解决?
很简单的一段程序
//---------------------------------------
#include <stdlib.h>
#include <boost/algorithm/string.hpp>
#pragma hdrstop
//---------------------------------------
#pragma argsused
int main(int argc, char* argv[])
{
return 0;
}
//---------------------------------------
编译后出现错误:
[C++ Error] boost/algorithm/string/sequence_traits.hpp(104): E2401 Invalid template argument list
这是怎么回事?
[解决办法]
boost在bcb下不是所有的库都可用的,algorithm我没试过,估计也是支持的问题
boost在gcc下没任何问题的,但在其它编译器(包括vc)都不能被完全编译
[解决办法]
http://engineering.meta-comm.com/boost-regression/CVS-RC_1_34_0/developer/date_time.html
那裡有boost對各種編譯器的測試結果,對於要使用Boost的哪部分特性,自己查表看看是否支持。
[解决办法]
typedef boost::tokenizer <boost::char_separator <char> > tokenizer;
虽然boost里举的例子都是这样的,但是实际使用的时候,
还是不要用异样的名字吧,编译器解析的时候,谁知道它会怎么认为。
我今天也遇到这个问题,改个名字就行了。