Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
17 / 17 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
1

Syntax error: '__declspec(dllexport)

15.07.2016, 18:50. Просмотров 1214. Ответов 5
Метки нет (Все метки)

Здравствуйте.
Есть вот такой код:
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
#ifdef BUILD_DLL1 // Объявлено, если мы строим библиотеку
    #define DLL_OBJECT1 __declspec(dllexport)
#else
    #define DLL_OBJECT __declspec(dllimport)
#endif
 
 
class Config
{
public:
    virtual ~Config() {};
// Работа с секциями
    virtual bool checkSection(const string section) = 0;
    virtual bool createSection(const string section) = 0;
// Работа с переменными
    virtual bool checkVariable(const string section, const string variable) = 0;
    virtual bool getVariable(const string section, const string variable, string &value) = 0;
    virtual bool setVariable(const string section, const string variable, const string value) = 0;
};
 
 
// Инициализация / завершение работы модуля конфигурации
extern "C" Config* DLL_OBJECT1  initConfig();
extern "C" void DLL_OBJECT1 finitConfig();
не могу его скомпилировать, ошибка в предпоследней строке, если убрать DLL_OBJECT1 то компилируется, подскажите как исправить.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.07.2016, 18:50
Ответы с готовыми решениями:

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'"
#include<iostream> using namespace std; int main(){ int x, a = 0, b = 10; (cin >> x).get(); ...

Ошибка error C2146: syntax error : missing ';' before identifier 'alph'
Не получается откомпилировать прогу из консоля в MFC, выбивает ошибку error C2146: syntax error :...

Error C2061: syntax error : identifier 'scanf' как исправить?
Помогите неумному студенту, пожалуйста. Только началось программирование в моей жизни, пока не...

[C++ Error] Unit1.cpp(6): E2141 Declaration syntax error
Ошибка : Unit1.cpp(6): E2141 Declaration syntax error Ошибка падает на Int main () ...

5
13881 / 7417 / 1759
Регистрация: 30.01.2014
Сообщений: 12,409
15.07.2016, 18:59 2
Цитата Сообщение от VoltDeMar Посмотреть сообщение
подскажите как исправить.
C++
1
2
extern "C" DLL_OBJECT1 Config* initConfig();
extern "C" DLL_OBJECT1 void finitConfig();
1
17 / 17 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
15.07.2016, 22:18  [ТС] 3
Не помогает
0
Миниатюры
Syntax error: '__declspec(dllexport)  
13881 / 7417 / 1759
Регистрация: 30.01.2014
Сообщений: 12,409
15.07.2016, 22:39 4
Цитата Сообщение от VoltDeMar Посмотреть сообщение
Не помогает
Не обманывай
Ты теперь словил другие ошибки к исходной ошибке не относящиеся. Исходную ошибку нужно лечить именно так, как я показал.
Первое, что бросается в глаза - это разные имена DLL_OBJECT1 и DLL_OBJECT. Это неправильно.
А вообще - давай проект в архиве, гадать не буду. Надоело.
0
17 / 17 / 4
Регистрация: 05.06.2012
Сообщений: 1,020
15.07.2016, 22:54  [ТС] 5
Содержимое файла в котором возникает ошибка выше, за исключением этих заголовков:

C++
1
2
3
4
5
6
7
#ifndef _LIBCONFIG_H
#define _LIBCONFIG_H
 
#define _CRT_SECURE_NO_WARNINGS
 
#include <string>
using std::string;
Не вру, он вообще пишет missing type, не значит ли это что такой синтаксис неуместен?

Добавлено через 2 минуты
Цитата Сообщение от DrOffset Посмотреть сообщение
это разные имена DLL_OBJECT1 и DLL_OBJECT.
Исправил - помогло. Извиняюсь за невнимательность.
0
13881 / 7417 / 1759
Регистрация: 30.01.2014
Сообщений: 12,409
15.07.2016, 22:59 6
Цитата Сообщение от VoltDeMar Посмотреть сообщение
Не вру
Я к тому, что твои нынешние ошибки не относятся к первоначальной проблеме вообще никак.

Приложи проект, чтобы я оценил степень бедствия. У тебя там может быть что угодно, в том числе 10 слоёв разнообразных ошибок: каждая будет проявляться при исправлении очередной. И каждый раз ты будешь писать, что не помогло. Выложи мне проект(ы), я посмотрю чего ты там наделал

Добавлено через 1 минуту
Цитата Сообщение от VoltDeMar Посмотреть сообщение
Исправил - помогло
Ну вот. А могло быть так, что этого не хватило бы, и вылезло бы еще что-то.
Ладно, хорошо, что разрешилось.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.07.2016, 22:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Компилятор выдаёт ошибку error C2059: syntax error : '}'
Компилятор visual studio 2010 выдаёт ошибку error C2059: syntax error : '}' в строке 91. Самая...

Error C2144: syntax error : 'exception' should be preceded by ';'
Сконвертировал проект Visual c++ 2008 года с помощью Visual c++ 2010. При попытке скомпилировать...

Error C2143: syntax error : missing ';' before '.'
#include &lt;fstream&gt; #include &lt;iostream&gt; using std::cin; using std::cout; using std::endl; using...

Error E2141 Declaration syntax error
#include&lt;stdlib.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;cmath.h&gt; #include&lt;stdlib.h&gt;...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.