gpt4 book ai didi

c++ - "First defined here"错误

转载 作者:太空宇宙 更新时间:2023-11-04 11:24:47 24 4
gpt4 key购买 nike

我有一个错误,即使我有保护 header ,我也不能将我的 header 文件包含在多个 cpp 中。当从 main 中删除 DatabaseManager 的包含时,ccode 构建得很好

这是头文件:

#ifndef DATABASEMANAGER_H
#define DATABASEMANAGER_H
#include <QSqlDatabase>
#include <QSqlQuery>
class DatabaseManager
{
private:
QSqlDatabase PatternLibrary;
QSqlQuery query;
public:
DatabaseManager();
};
#endif

这是.cpp:

#include "DatabaseManager.h"
#include <QSqlError>
#include <QDebug>

DatabaseManager::DatabaseManager()
{
}

这里是主要的:

#include "DatabaseManager.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
DatabaseManager x;
MainWindow w;
w.show();

return a.exec();
}

给出这些错误:

/Code/DB_RangePattern-build-desktop-Qt_4_8_1_in_PATH_System_Debug/../DB_RangePattern/main.cpp:6: error: first defined here

collect2: ld returned 1 exit status

最佳答案

您只发布了一行较大的错误,但我可以大胆猜测问题出在哪里。您似乎不确定您的类(class)是否是 DataBaseManagerDatabaseManager (注意资本的变化 B )。

此外,如果您的头文件与其余源文件一起使用,请确保您正在做 #include "DatabaseManager.h" (不使用 <> )。

关于c++ - "First defined here"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15441636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com