Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
1 / 1 / 1
Регистрация: 20.10.2013
Сообщений: 13
1

DLL не компилирует (использую vector, string, .lib)

12.12.2014, 03:44. Показов 806. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, как скомпилировать dll библиотеку? Пишу __declspec(dllexport) в объявлении классов но получаю уйму ошибок. Проблема в том что я использую .lib для работы с xml и еще vector и string. Как это все скомпилировать? Помогите
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#pragma once
#include "tinyxml.h"
#include "tinystr.h"
#include <string>
#include "Employee.h"
#include "Firm.h"
using namespace std;
class __declspec(dllexport) Act
{
public:
    Act();
    Act(string date, Employee* employ, Resumes resume, Firm* firm, VacancyItem* vacancy);
    string getDate();
    void setDate(std::string Date);
    void setEmployee(Employee* employ);
    Employee getEmployee();
    void addVacancy(VacancyItem* vacancy);
    void addResume(ResumeItem* resume);
    void setFirm(Firm* firm);
    Firm getFirm();
    Resumes getResume();
    VacancyItem getVacancy();
    void Record(TiXmlElement* root);
 
 
private:
    string Date;
    Employee Employer;
    Resumes Resume;
    Firm FirmItem;
    VacancyItem Vacancy;
 
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma once
#include <string>
class __declspec(dllexport)  A_Interface
    {
    public:
        virtual void Add(std::string) = 0;
        virtual void Remove(size_t) = 0;
        virtual void Record() = 0;
        virtual void Parse() = 0;
        virtual void Update() = 0;
        virtual void Sort() = 0;
        virtual size_t Size() = 0;
 
    };
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once
#include "A_Interface.h"
#include "tinyxml.h"
#include "tinystr.h"
#include <string>
#include "Act.h"
using namespace std;
 
 
 
class __declspec(dllexport) Acts : A_Interface
    {
    public:
        Acts();
        Acts(const char* XMLpath);
        void Add(string) override;
        void Add(string date, Employee*, Resumes, Firm*, VacancyItem*);
        void Remove(string date, Employee* employer);
        void Remove(size_t) override;
        void Record() override;
        void Parse() override;
        void Update() override;
        void Sort() override;
        size_t Size();
        Act* operator[](size_t);
        ~Acts();
    private:
        vector<Act> dataActs;
        vector<Act>::iterator it;
        const char* XMLpath;
    };
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2014, 03:44
Ответы с готовыми решениями:

Не могу вставить элемент в second(vector) мультимапа. multimap<string, vector<string>>
#include &lt;iostream&gt; #include &lt;map&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;string&gt;...

Map<string,vector<pair<string,vector<int> > > > Поиск во всем map
Как пройти циклом по всему map такого вида? map&lt; string, vector&lt; pair&lt; string, vector&lt;int&gt; &gt; &gt; &gt;...

Разделить vector<string> на два vector<string>
У меня есть vector&lt;string&gt; line_from_file; line_from_file.resize(N); N-некое число Когда я...

Доступ к паре в map<string, vector<pair<string, string>>>Temp
Подскажите пожалуйста как получить данные в векторе пар ? void showData(const map&lt;string,...

6
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
12.12.2014, 09:00 2
Разве в обычной dll могут быть классы?
0
Ушел с форума
Эксперт С++
16473 / 7436 / 1187
Регистрация: 02.05.2013
Сообщений: 11,617
Записей в блоге: 1
12.12.2014, 10:01 3
Цитата Сообщение от Looter Посмотреть сообщение
Пишу __declspec(dllexport) в объявлении классов но получаю уйму ошибок.
Что за ошибки, конечно же, написать никак нельзя ?
0
120 / 142 / 46
Регистрация: 31.10.2014
Сообщений: 721
Записей в блоге: 1
12.12.2014, 10:08 4
Цитата Сообщение от nmcf Посмотреть сообщение
Разве в обычной dll могут быть классы?
экспортироваться могут: Классы, интерфейсы, переменные
0
7793 / 6560 / 2984
Регистрация: 14.04.2014
Сообщений: 28,672
12.12.2014, 11:26 5
экспортироваться могут: Классы, интерфейсы
Дай ссылку какую-нибудь. Может речь о COM?
0
1 / 1 / 1
Регистрация: 20.10.2013
Сообщений: 13
12.12.2014, 12:19  [ТС] 6
Разобрался, написал просто перед каждым методом (конструкторами и деструкторами тоже) __declspec(dllexport) + поудалял изменил все методы в которых возвращаемые параметры это классы библиотеки STL (string. vector, list). Извините что не написал описания ошибок, просто у меня глаза разбежались от их количества)
0
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
12.12.2014, 13:35 7
Цитата Сообщение от nmcf Посмотреть сообщение
ссылку какую-нибудь.
Например.
Цитата Сообщение от Looter Посмотреть сообщение
Разобрался
Разобрался - это когда понял почему не работало, а не сделал так, чтобы работало. Почему-то многие теряют эту разницу.
1
12.12.2014, 13:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2014, 13:35
Помогаю со студенческими работами здесь

Как в VS 2015 устранить ошибку LNK 1104 cannot open file 'fltkd.lib wsock32.lib comct132.lib fltkjpegd.lib'?
как устранить ошибку LNK 1104 в visual studio community 2015? пункта C/C++ в properties нету ...

Linker error msvcprtd.lib(msvcp100d.dll) error lnk2005 already defined libcpmtd.lib
Господа, забрал из VSS солюшен (из 5 проектов) для VS2010 и стал его собирать. Увлекательный...

Перенос данных c vector<string> в vector<double>
Необходимо перенести введенные данные в vector&lt;string&gt; в vector&lt;double&gt;, я реализовал это вот так:...

Какое одинаковое значение можно вернуть из функций <string> f () и vector < <string> > f()?
Понятное дело, что всё обсуждение будет вертеться вокруг аналога NULL. char* f_0 () { return...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru