Borland C ++ - Boost Library 1.55错误

时间:2014-07-30 11:02:10

标签: c++ boost borland-c++

操作系统:Windows 7 IDE:Borland Builder 6

我试图添加mysql连接器,并出现了这样的错误。如何解决?

  [C++ Error] substitute_fwd.hpp(49): E2401 Invalid template argument list
  [C++ Error] substitute_fwd.hpp(49): E2041 Incorrect use of default
  [C++ Error] substitute_fwd.hpp(49): E2040 Declaration terminated incorrectly
  [C++ Error] meta_utils.hpp(54): E2401 Invalid template argument list
  [C++ Error] meta_utils.hpp(54): E2303 Type name expected
  [C++ Error] utility.hpp(38): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] utility.hpp(46): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] utility.hpp(54): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] utility.hpp(68): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] utility.hpp(69): E2034 Cannot convert 'move_detail::is_rv<T>::value' to 'bool'
  [C++ Error] utility.hpp(70): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] utility.hpp(76): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] utility.hpp(77): E2034 Cannot convert 'move_detail::is_rv<T>::value' to 'bool'
  [C++ Error] utility.hpp(78): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] iterator.hpp(43): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] algorithm.hpp(177): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] algorithm.hpp(216): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] algorithm.hpp(240): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] algorithm.hpp(263): E2437 'typename' should be followed by a qualified, dependent type name
  [C++ Error] static_assert.hpp(62): E2221 Macro argument syntax error
  [C++ Error] static_assert.hpp(182): E2221 Macro argument syntax error
  [C++ Error] aligned_storage.hpp(51): E2272 Identifier expected
  [C++ Error] aligned_storage.hpp(56): E2321 Declaration does not specify a tag or an identifier
  [C++ Error] cstdint.hpp(380): E2272 Identifier expected
  [C++ Error] cstdint.hpp(381): E2272 Identifier expected
  [C++ Error] cstdint.hpp(381): E2228 Too many error or warning messages

1 个答案:

答案 0 :(得分:0)

在大多数情况下使MSVC ++像libs一样在Borland / Embarcadero环境中工作:

  • 重新排序和/或添加#include语句
  • 添加缺少的#define

无论如何,对于MySQL你可以使用自己的hinterface,如 libmysql.dll 而不是boost

  • 效果很好(在BCB5,BDS2006中测试)
  • 只需获取libmysql.dll +头文件(可从MySQL页面下载,也包含在某些安装中)
  • 使用implib.exe工具创建Intel / Borland兼容的lib文件(位于Borlands bin文件夹中)

将其链接到您的项目+添加包含,并且全部是

用法几乎与PHP相同

[注释]

  • 我从来没有正确测试BCB6,因为它是极端错误的
  • BCB5在所有方面都更好,所以我几乎立即切换回来
  • 现在我使用的BDS2006虽然陈旧,但几乎可以做任何32位,并且可以免费使用100年
  • 有一些我不介意的小限制
  • 很遗憾Embarcadero击败了它的服务器,因此无法获得新的许可证(至少我知道)