2010-12-06 91 views
1

我試圖運行「入門」的例子:運行Boost庫與Borland編譯器5.82

#include <boost/lambda/lambda.hpp> 
#include <iostream> 
#include <iterator> 
#include <algorithm> 

int main() 
{ 
    using namespace boost::lambda; 
    typedef std::istream_iterator<int> in; 

    std::for_each(
     in(std::cin), in(), std::cout << (_1 * 3) << " "); 
} 

下載Boost庫,以我的機器了。但我無法運行。 谷歌搜索後,所有我發現是添加:

#define BOOST_REGEX_USE_VCL 
#define BOOST_NO_OPERATORS_IN_NAMESPACE 
#define BOOST_NO_STD_LOCALE 

這仍然沒有幫助。錯誤是:

[C++ Error] lambda_traits.hpp(435): E2238 Multiple declaration for 'bind_traits<R>' 
[C++ Error] lambda_traits.hpp(389): E2344 Earlier declaration of 'bind_traits<R>' 

任何人有任何(進一步)的想法嗎?正如標題所述,我正在使用Borland編譯器的5.82版本。

哦......並且請不要使用其他編譯器。我在工作,我不是自己的老闆。 : -/

;-)

回答

1

我想的boost ::拉姆達不符合5.8.2的工作 - 它甚至有可能不會與最新的C++ Builder編譯工作。

看一看在bcbboost頁面結果,並繼續David Dean's blog.

+0

的眼睛。如果我得到這個消息:C:\> bcc32.exe [返回] | Borland C++ 5.82 for Win32版權所有(c)1993,2005 Borland | ...我使用Borland編譯器5.8.2運行? – AudioDroid 2010-12-06 16:08:01