在CentOS下,在编译libodb-mysql-2.4.0时,发生了编译错误,发现是一些代码问题
如图所示,错误发生在odb/mysql/mysql-types.hxx
原代码为:
// file : odb/mysql/mysql-types.hxx
// copyright : Copyright (c) 2005-2015 Code Synthesis Tools CC
// license : GNU GPL v2; see accompanying LICENSE file
#ifndef ODB_MYSQL_MYSQL_TYPES_HXX
#define ODB_MYSQL_MYSQL_TYPES_HXX
#include <odb/mysql/details/config.hxx>
#include <mysql/mysql.hxx>
typedef char my_bool;
typedef struct MYSQL_BIND MYSQL_BIND;
#ifdef LIBODB_MYSQL_INCLUDE_SHORT
# include <mysql_time.h>
#else
# include <mysql/mysql_time.h>
#endif
#endif // ODB_MYSQL_MYSQL_TYPES_HXX
将其改为一下即可:
// file : odb/mysql/mysql-types.hxx
// copyright : Copyright (c) 2005-2015 Code Synthesis Tools CC
// license : GNU GPL v2; see accompanying LICENSE file
#ifndef ODB_MYSQL_MYSQL_TYPES_HXX
#define ODB_MYSQL_MYSQL_TYPES_HXX
#include <odb/mysql/details/config.hxx>
#include <mysql/mysql.h>
typedef bool my_bool;
#ifdef LIBODB_MYSQL_INCLUDE_SHORT
# include <mysql_time.h>
#else
# include <mysql/mysql_time.h>
#endif
#endif // ODB_MYSQL_MYSQL_TYPES_HXX
应该可以解决问题,有其他问题欢迎讨论!