Загрузка классов из статических библиотек
От: Davert  
Дата: 16.05.05 09:38
Оценка:
Есть статическая библиотека smartdb.lib

Вот её заголовочный файл

#include "database.h"
#include <string.h>
#include <stdlib.h>

#ifdef SMARTDB_EXPORTS
#define SMARTDB_DLL_ENTRY __declspec(dllexport)
#else
#define SMARTDB_DLL_ENTRY __declspec(dllimport)
#endif

class SMARTDB_DLL_ENTRY dbvField;
class SMARTDB_DLL_ENTRY dbvRecord;
class SMARTDB_DLL_ENTRY dbvTable;
class SMARTDB_DLL_ENTRY dbDatabase;

Экспортируются все эти классы. Но когда я хочу запустить конструктор какого нибудь класса выдает ошибку линкера. Но самое странное, что нет проблем с классом dbDatabase. В нем работают все функции. Скажите пожалуйста почему одни классы могут грузится,а другие нет. Может это в параметрах проекта настроить или...

Ещё странный момент. Если я размещаю файл с имплементацией всех его функций в заголовочный файл, то функции видны... Вобщем, полностью запутался.

Да, вот файловая структура библиотеки:

[smartdb.h]
|
[database.h]-[database.cpp]
|
[class.h]-[class.cpp]

Заранее благодарю.


23.08.05 15:03: Перенесено модератором из 'C/C++' — Хитрик Денис
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.