M
Markus Demetz
Hi,
I'm quite new to C++.
I'm developing under Microsoft Visual Studio, andI've written some
classes and want them to be exported to a .dll. I use a macro DLL_EXPORT
and everything goes well.
But when I try to export a static function, the client, which imports
the function gives a linking error.
class Station {
...
/* database */
DLL_EXPORT void write2db(bool recursive);
DLL_EXPORT virtual void removeFromDb();
static DLL_EXPORT Station* loadFromDb(int id, bool recursive);
...
};
DLL_EXPORT is changed accordingly to __declspec(dllexport) and
__declspec(dllimport).
The clients main function:
int main() {
Station *st = Station::loadFromDb(1, true);
...
}
leads to a linker error.
Is it possible to export static functions and how?
Thank you for any help,
Markus
I'm quite new to C++.
I'm developing under Microsoft Visual Studio, andI've written some
classes and want them to be exported to a .dll. I use a macro DLL_EXPORT
and everything goes well.
But when I try to export a static function, the client, which imports
the function gives a linking error.
class Station {
...
/* database */
DLL_EXPORT void write2db(bool recursive);
DLL_EXPORT virtual void removeFromDb();
static DLL_EXPORT Station* loadFromDb(int id, bool recursive);
...
};
DLL_EXPORT is changed accordingly to __declspec(dllexport) and
__declspec(dllimport).
The clients main function:
int main() {
Station *st = Station::loadFromDb(1, true);
...
}
leads to a linker error.
Is it possible to export static functions and how?
Thank you for any help,
Markus