Borland C++ - Boost Library 1.55 Error

Borland C++ - Boost Library 1.55 Error

本文关键字:Error Library Boost C++ Borland      更新时间:2023-10-16

操作系统:Windows 7IDE: 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

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

  • 重新排序和/或添加#include语句
  • 添加缺少的#define
无论如何,对于MySQL,你可以使用自己的hinterface,比如libmysql.dll而不是boost
  • 运行良好(在BCB5、BDS2006中测试)
  • 只获取libmysql.dll +头文件(可从MySQL页面下载,也包括在一些安装中)
  • 使用implib.exe工具创建Intel/Borland兼容的lib文件(它在Borlands bin文件夹中)

链接到你的项目+添加include,它是全部

的用法与PHP

几乎相同。(笔记)

  • 我从来没有正确测试过BCB6,因为它是非常错误
  • BCB5在所有方面都要好得多,所以我几乎立即切换回
  • 现在我使用BDS2006,它也很老,但几乎可以做任何32位的事情,并且是免费的100年
  • 有一些小的限制,无论如何我不介意
  • 遗憾的是,Embarcadero关闭了它的服务器,所以没有新的许可证可以获得(至少我知道)