我是C ++的新手,但他们刚刚继承了一组20多个C ++解决方案,这些解决方案可以共同创建一个应用程序套件。我有一个以单个.cpp文件保存的类,可以用来连接和与SQL数据库通信,我想让所有的解决方案都能使用这个类。
我已将sql.cpp文件放在已存在的名为“Shared”的目录中。但是在每个项目中我都包含该文件?我已经尝试将其包含在stdafx文件中,但这会导致无休止的编译错误。我已经尝试将它包含在项目中使用它的每个.cpp文件中,但是只要我将它包含在多个中,我就会“在obj中定义”错误。我也尝试创建一个单独的.h文件来实例化该类并包含它,但它似乎找不到.cpp文件,因为我得到了未解决的外部错误。
我希望我已经解释得那么好 - 有人可以对这个问题有所了解吗?
谢谢!
答案 0 :(得分:0)
您不包含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)并从所有需要它的项目链接到它。
如果它不依赖于其他任何东西,你可以使用目标文件和静态库。
修改强> on Windows DLL: