编译不过?

liangwei_2008 2009-10-22 11:12:13
下面是我下载的开源代码中的一个文件MySQLDatabase.h,
可以编译过,问题是我认为这样的头文件编译不过


#ifndef __MYSQLDATABASE_H
#define __MYSQLDATABASE_H

#if PLATFORM == PLATFORM_APPLE
#include <mysql.h>
#else
#include <mysql/mysql.h>
#endif

struct MySQLDatabaseConnection : public DatabaseConnection
{
MYSQL * MySql;
};

class SERVER_DECL MySQLDatabase : public Database
{
friend class QueryThread;
friend class AsyncQuery;
public:
MySQLDatabase();
~MySQLDatabase();

bool Initialize(const char* Hostname, unsigned int port,
const char* Username, const char* Password, const char* DatabaseName,
uint32 ConnectionCount, uint32 BufferSize);

void Shutdown();

string EscapeString(string Escape);
void EscapeLongString(const char * str, uint32 len, stringstream& out);
string EscapeString(const char * esc, DatabaseConnection * con);

bool SupportsReplaceInto() { return true; }
bool SupportsTableLocking() { return true; }

protected:

bool _HandleError(MySQLDatabaseConnection*, uint32 ErrorNumber);
bool _SendQuery(DatabaseConnection *con, const char* Sql, bool Self = false);

void _BeginTransaction(DatabaseConnection * conn);
void _EndTransaction(DatabaseConnection * conn);
bool _Reconnect(MySQLDatabaseConnection * conn);

QueryResult * _StoreQueryResult(DatabaseConnection * con);
};

class SERVER_DECL MySQLQueryResult : public QueryResult
{
public:
MySQLQueryResult(MYSQL_RES* res, uint32 FieldCount, uint32 RowCount);
~MySQLQueryResult();

bool NextRow();

protected:
MYSQL_RES* mResult;
};

#endif // __MYSQLDATABASE_H


这里的基类Database是在另一个文件中Database.h中定义,可是现在的这个头文件没有包含那个头文件的迹象,怎么就能编译成功呢?是不是有什么别的办法 工程设置里我已经一一对比,跟一个正常的工程区别不大 请各位帮帮忙啊

...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一条晚起的虫 2009-10-22
  • 打赏
  • 举报
回复
//也许你认为的:public Database是在Database.h中,而实际上并不是Database.h中的Database
liangwei_2008 2009-10-22
  • 打赏
  • 举报
回复
谢谢楼上
可是mysql.h或者mysql/mysql.h是系统自带的文件,安装完vs后就有了
而Database.h是工程中的文件 所以不可能被包含
oyljerry 2009-10-22
  • 打赏
  • 举报
回复
<mysql.h>
等其他头文件中可能包含了,查看一些这些头文件
yuhudie203 2009-10-22
  • 打赏
  • 举报
回复
你认为其编译不过 那就是说编译可以通过了?
Database的基类在Database.h中定义 虽然你所在的MySQLDatabase.h中没有直接包含这个头文件
但是其可能包含在mysql.h或者mysql/mysql.h 或者其下包含的某个头文件中
给你一个试验办法 ,你在Database点右键 go to defination(可能拼错了 ^_^)
如果能到达 那么一定是包含了的 如果不能到达 那么也不一定不包含~~VC有时候也有问题 试试吧

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧