|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|||||||||||
Создать dll с классом18.10.2014, 10:59. Показов 4835. Ответов 12
Метки нет (Все метки)
Имеется класс(хедер файл)
Добавлено через 13 часов 23 минуты ап.
0
|
|||||||||||
| 18.10.2014, 10:59 | |
|
Ответы с готовыми решениями:
12
По аналогии с классом cstack создать стек Создать иерархию наследования с абстрактным базовым классом |
|
Модератор
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
|
|
| 18.10.2014, 11:12 | |
|
DLL имеет возможность экспортировать только функции.
Поэтому напрямую такое реализовать нельзя. Но раздельную компиляцию сделать можно. Поместите файл с реализации и файл с программой в один проект.
0
|
|
|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|
| 18.10.2014, 11:40 [ТС] | |
|
zss, а как это не напрямую ?
0
|
|
|
Ушел с форума
|
|
| 18.10.2014, 11:45 | |
|
Из dll можно экспортировать не только функции, но и классы, и переменные.
В Visual C++, например, это делается с помощью __declspec(dllexport). Exporting from a DLL Using __declspec(dllexport) http://msdn.microsoft.com/ru-r... k134d.aspx dllexport, dllimport http://msdn.microsoft.com/ru-r... sfaz2.aspx
1
|
|
|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|
| 18.10.2014, 11:58 [ТС] | |
|
Убежденный, хмм, не получалось так сделать, lnk ругался, но переместил описание конструктора в описание и построилось .
а как теперь это чудо извлечь и использовать ? и как побороть эти warning'и ? Кликните здесь для просмотра всего текста
не являющийся dll-интерфейсом, использован в качестве базового для dll-интерфейса class "myFigures::Rectangle"
несовместимая компоновка dll
0
|
|
|
Ушел с форума
|
|
| 18.10.2014, 12:56 | |
Сообщение было отмечено luciys как решение
Решение
luciys, для импорта клиентский код должен подключить
заголовок класса с __declspec(dllimport), а также библиотеку импорта (.lib). Могут возникнуть проблемы с шаблонами, например, выдача сообщений вроде такого "non – DLL-interface classkey 'identifier' used as base for DLL-interface classkey 'identifier'" или такого: "'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'". По этой причине экспорт часто делается в стиле C (только функции), либо через pimpl.
1
|
|
|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|
| 18.10.2014, 13:13 [ТС] | |
|
Убежденный, .lib это же статическая ? а как именно с динамической ?
0
|
|
|
Ушел с форума
|
|
| 18.10.2014, 13:16 | |
|
.lib - это может быть либо статическая библиотека (подключаемый код
целиком находится в ней), либо библиотека импорта (ссылка на код, который находится в dll).
1
|
|
|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|
| 18.10.2014, 17:10 [ТС] | |
|
Убежденный, всё собралось и работает, спасибо )
только пришлось наследовать от базового(абстрактный, полей не содержит) класса, т.к. ругается :
0
|
|
|
Ушел с форума
|
|
| 18.10.2014, 17:12 | |
|
Оффтопом:
почему все так любят русифицированные IDE ? не для того ли, чтобы потом наблюдать такие вот сообщения ?
0
|
|
|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|
| 18.10.2014, 20:21 [ТС] | |
|
Убежденный,
Не по теме: может по той же причине, по которой мы с Вами разговариваем на русском ? )
0
|
|
|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|
| 18.10.2014, 21:18 [ТС] | |
|
Убежденный,
0
|
|
|
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
|
|
| 18.10.2014, 22:13 [ТС] | |
|
решено : всего-то нужно было добавить в компиляцию нужные срр файлы (point.cpp && segment.cpp)
0
|
|
| 18.10.2014, 22:13 | |
|
Помогаю со студенческими работами здесь
13
Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? Создать .dll либу Как создать DLL в с++ Как создать dll на VS2010? Можно ли в DLL создать поток? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|