5 / 5 / 1
Регистрация: 25.04.2019
Сообщений: 530
|
||||||||||||||||
1 | ||||||||||||||||
Почему компилятор не видит метод объекта импортируемого из библиотеки28.07.2023, 12:29. Показов 791. Ответов 19
Метки нет Все метки)
(
Я изучал использование библиотеки dll в своих проектах в библиотеке я описал в заголовочном файле свой объект вот его код
Что я делаю не так как исправить ошибку чобы проект собрался?
0
|
28.07.2023, 12:29 | |
Ответы с готовыми решениями:
19
Компилятор не видит подключаемые библиотеки Компилятор не видит функции из библиотеки AlgLib Компилятор не видит расширяющий метод |
617 / 513 / 104
Регистрация: 05.08.2022
Сообщений: 2,768
|
|
28.07.2023, 13:15 | 2 |
В основную программу какой h-файл подключен? там весь класс MySocket описан?
Кстати, __declspec(dllexport) для описания классов, а не функций, точно применимо? (я не знаю) Добавлено через 1 минуту А вообще гонять между dll и основной программой классы, вызывать в них методы - это не то чтобы нельзя, но надо хорошо понимать все нюансы и ограничения такого подхода. А потому сразу вопрос: вам это точно надо?
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
28.07.2023, 13:16 | 3 |
spaceship1226, скорее всего разные версии заголовочных файлов используются. Проверьте, что нет нигде устаревших дубликатов вашего библиотечного заголовочного файла, которые могут подцепляться к проекту.
Добавлено через 56 секунд Применимо, но не переносимо.
0
|
617 / 513 / 104
Регистрация: 05.08.2022
Сообщений: 2,768
|
|
28.07.2023, 13:19 | 4 |
А что оно делает в этом случае? все методы класса (видимо только публичные? или нет?) делает экспортируемыми из dll ?
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
28.07.2023, 13:28 | 5 |
1
|
900 / 477 / 93
Регистрация: 10.06.2014
Сообщений: 2,698
|
|
28.07.2023, 13:35 | 6 |
2
|
![]() 3770 / 2698 / 762
Регистрация: 29.06.2020
Сообщений: 9,924
|
|
28.07.2023, 14:09 | 7 |
И в вызове так же, в двух вариантах.
Так нужно уметь =)
0
|
![]() ![]() ![]() 4459 / 2334 / 984
Регистрация: 01.06.2021
Сообщений: 8,007
|
|
28.07.2023, 14:22 | 8 |
А що современные ide не умеют очепятки вылавливать??
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
28.07.2023, 14:40 | 9 |
0
|
![]() ![]() ![]() 4459 / 2334 / 984
Регистрация: 01.06.2021
Сообщений: 8,007
|
|
28.07.2023, 14:44 | 10 |
DrOffset, у меня был риторический вопрос. Но хорошо, что вы привели пример.
0
|
5 / 5 / 1
Регистрация: 25.04.2019
Сообщений: 530
|
||||||
28.07.2023, 15:28 [ТС] | 11 | |||||
Очепятку устранил, проект использующий dll теперь собирается, но отлаживаться никак не хочет
Запускаю отладчик и вижу на экране картинки скриншоты привожу в прикрепленных файлах. В чем проблема сейчас?Что нужно сделать чтобы программа работала корректно?
0
|
900 / 477 / 93
Регистрация: 10.06.2014
Сообщений: 2,698
|
|
28.07.2023, 16:45 | 12 |
spaceship1226,
Скорее всего дело в том, что реализация используемого метода отсутствует в DLL. 1) Проверьте DLL на наличие реализации используемого метода который вызывает ошибку (исправьте если есть опечатки или добавьте реализацию которая отсутствует) 2) После исправлений скомпилируйте DLL заново 3) Попробуйте выполнить программу но уже используйте DLL которую собрали заново
0
|
19409 / 10028 / 2443
Регистрация: 30.01.2014
Сообщений: 17,678
|
|
28.07.2023, 17:07 | 13 |
Я понял, что риторический. Но в вопросе было про IDE, а я добавил про компилятор.
0
|
![]() ![]() ![]() 4459 / 2334 / 984
Регистрация: 01.06.2021
Сообщений: 8,007
|
|
28.07.2023, 17:41 | 14 |
DrOffset, я писал про ide, потому что не только современный компилятор, но и статический анализ кода и всякие IntelliSense тоже должны предупреждать об этом. Т.е. ТС ещё до компиляции должен был заметить опечатку.
Поэтому, учитывая, что IDE включает в себя и компилятор, а также, что опечатку IDE должна поймать даже ещё до компиляции, то я писал об IDE.
0
|
Вездепух
![]() ![]() ![]() 12847 / 6714 / 1805
Регистрация: 18.10.2014
Сообщений: 17,013
|
|||||||||||
28.07.2023, 18:13 | 15 | ||||||||||
Вы нас обманываете - вот что вы делаете неправильно. Ошибка, которую вы процитировали, возникает не "при попытке вызова этого метода из другого проекта", как вы заявили в вопросе, а еще при попытке его определения еще в изначальном проекте, то есть в совсем другом месте. Причем ошибка - в точности того же типа, как и в вашей предыдущей теме: опечатка, приведшая к разным именам в объявлении и определении метода. Вы что, не сделали никаких выводов из той темы? На каждую опечатку - новую тему?
Запускаем Developer Command Prompt из Visual Studio. Делаем
P.S. В форуме приводят текст, а не картинки. Чтобы нам не нужно было набирать это ??1MySocket@@QEAA@XZ с вашей картинки. Я целый час ковырялся... Причем, обратите внимание, в этом сообщении я сделал это три раза!!1
0
|
![]() 5 / 3 / 1
Регистрация: 07.09.2021
Сообщений: 17
|
|
28.07.2023, 20:17 | 16 |
Сделайте все в рамках одного ехе файла для начала. А то вы так долго будете выгребать ошибки, опечатки и прочее.
Потом если ещё будет надо разобьёте на exe и dll
0
|
5 / 5 / 1
Регистрация: 25.04.2019
Сообщений: 530
|
||||||
29.07.2023, 09:51 [ТС] | 17 | |||||
Определение деструктора имеется привожу его код
0
|
Вездепух
![]() ![]() ![]() 12847 / 6714 / 1805
Регистрация: 18.10.2014
Сообщений: 17,013
|
|
29.07.2023, 10:00 | 18 |
Так а где и как делается объявление класса с
__declspec(dllimport) ? Как это вообще у вас делается? У вас в хедере явно жестко прописано __declspec(dllexport) .
0
|
617 / 513 / 104
Регистрация: 05.08.2022
Сообщений: 2,768
|
|
29.07.2023, 12:08 | 19 |
Не понятно что вас смущает.
У вас программа просто-напросто не запускается. Вернее запускается, Windows подгружает требуемые DLL и ищет в этих DLL требуемые функции (функции, которые желает импортировать ваш exe-файл). Указанная в сообщении функция не обнаруживается в DLL, на этом Windows все убивает, выводя диагностическое сообщение. Вот и "не идет отладка", до main дело и не доходит. Вы просто так свой exe запустите, без отладчика - и увидите ровно это сообщение при старте. Одно не пойму: на кой вам вся эта заморочка сдалась?
0
|
5 / 5 / 1
Регистрация: 25.04.2019
Сообщений: 530
|
|||||||||||
29.07.2023, 13:50 [ТС] | 20 | ||||||||||
Смущает то что проект был работоспособен до моего инсульта и выхода из строя системного диска Раньше я создавал и отлаживал проект в windows 8.1 после переустановки системы работаю в Windows 11.возможно в этом и проблема сейчас
я вхожу в режим отладки и вижу где происходит затык при прохождении этого участка кода
код завершения процесса -1073741819 Что я могу сделать для восстановления работоспособности проекта?
0
|
29.07.2023, 13:50 | |
Помогаю со студенческими работами здесь
20
Почему компилятор не видит класс? Почему компилятор не видит переменную [c]
Почему компилятор не видит мои переменные? Почему компилятор не видит идентификатор GetTickCount64_mc? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Winforstrap или красявый дизайн своими руками на HTML+JS+Winforms
anomal6 04.03.2025
Сидел тут вечером ковырял проект на MAUI, и как же глупо создаются пакеты MSIX и система обновлений пакета публикации, но не об этом.
Бывает нужен современный дизайн программы а писать на MAUI,. . .
|
Формат данных для симуляции физики, посредством распространённых не обученных моделей.
Hrethgir 04.03.2025
Что-то как-то снова потерялось, зато катангенсы закатангесились в одном сообщении. На днях писал, что планирую для работы апгрейдить (на этот раз удачно) девайс для работы (конкретно - здоровья для,. . .
|
Концепция variadic
CoderHuligan 04.03.2025
Мне не очень нравится (а кому это нравится?) что у нас есть отдельно компилятор, отдельно линковщик, причем со своим собственным командным языком. При этом усложнении надо знать помимо языка. . .
|
Java Record или Kotlin Data Class: что лучше для неизменяемых данных
Wired 04.03.2025
Java Record и Kotlin Data Class — два мощных инструмента для обуздания неизменяемых структур данных, каждый со своим уникальным подходом к решению этой задачи. История их появления весьма. . .
|
Создание производительных API с Java и gRPC
Wired 04.03.2025
В мире микросервисной разработки вопрос производительности часто становится краеугольным камнем. И хотя REST API давно завоевал сердца разработчиков своей простотой и интуитивностью, при высоких. . .
|
Что нового в JDK 24
Wired 04.03.2025
JDK 24 — это настоящий прорыв в эволюции Java, который кардинально меняет правила игры. В этом релизе разработчики Oracle наконец-то довели до ума множество критически важных улучшений в. . .
|
Разработка блокчейн с использованием Java: смарт-контракты и dApp
Wired 04.03.2025
Погружаясь в мир блокчейн-разработки на Java, разработчик получает доступ к внушительному арсеналу инструментов. В отличие от Solidity, который "заперт" в экосистеме Ethereum, Java предоставляет. . .
|
WebAssembly в Kubernetes
stackOverflow 03.03.2025
В современной экосистеме облачных технологий WebAssembly (Wasm) становится все более значимым компонентом, предлагая уникальный подход к выполнению кода в распределенных системах. Эта технология. . .
|
GitHub Actions или Jenkins: Выбираем CI/CD платформу
stackOverflow 03.03.2025
Непрерывная интеграция и развертывание (CI/ CD) изменили подход к разработке программного обеспечения, превратив его в бесшовный процесс от написания кода до развертывания в продакшн. GitHub Actions и. . .
|
Автоматизация тестирования Pull Request в Kubernetes: Интеграция с GitHub Actions и GKE
stackOverflow 03.03.2025
Масштабные проекты с использованием Kubernetes требуют надежной системы тестирования изменений перед их внедрением в продакшн-среду. Традиционный подход с ручной проверкой Pull Request не справляется. . .
|