C++项目 - 包含 SQL 类文件的位置

C++ projects - where to include sql class file?

本文关键字:文件 位置 SQL 项目 包含 C++      更新时间:2023-10-16

我对C++相当陌生,但刚刚继承了一组 20+ C++解决方案,这些解决方案协同工作以创建一个应用程序套件。我有一个类保存在一个单一的.cpp文件中,可用于连接和与 SQL 数据库通信,我希望所有解决方案都能够使用此类。

我已将sql.cpp文件放在已经存在的名为"共享"的目录中。但是,我在每个项目中的哪个位置包含该文件?我尝试将其包含在 stdafx 文件中,但这导致了无休止的编译器错误。我尝试将其包含在项目中使用它的每个单独的.cpp文件中,但是一旦我将其包含在多个文件中,我就会收到"已经在obj中定义"错误。我还尝试创建一个单独的 .h 文件来实例化类并包括它,但它似乎找不到.cpp文件,因为我遇到未解决的外部错误。

我希望我已经解释得足够好了——任何人都可以对这个主题有所了解吗?

谢谢!

不包括 cpp 文件。

首先,获取函数原型并创建头文件

如果您的 Sql.cpp 代码是

bool Open(char* name)
{
 //do something
}
void Close(char* name)
{
 //do something else
}

您的 Sql.h 标头应为:(您只放置要从文件外部调用的函数)

#pragma once
bool Open(char* name);
void Close(char* name);

其次,我假设你最好创建一个库(静态库是最简单的,但最好是共享或DLL,具体取决于你的操作系统)并从所有需要它的项目链接到它。

您可以使用对象文件以及静态库(如果它不依赖于其他任何内容)。

编辑:在 Windows DLL 上:

在窗口静态库

如何在 Linux 中构建静态库

如何在 Linux 中构建共享库