Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
Всем привет! Хочу создать и использовать статическую библиотеку в клиенте(функции для калькулятора). Создал в creatore статическую библиотеку, получил 4 файла: -stat_lib.pro -stat_lib.h -stat_lib_global.h -stat_lib.cpp В stat_lib.pro добавил DESTDIR += ../lib (По заданию в этом каталоге должна стать библиотека, но у меня ничего не появилось после сборки...) В stat_lib.h описал экспортируемую функцию: Код: plaintext 1. В stat_lib.cpp определил экспортируемую функцию: Код: plaintext 1. 2. 3. 4. Далее создал клиента на базе QMainWindow: - в mainwindow.h включил #include "stat_lib.h" - в проекте указал путь к .h файлу - INCLUDEPATH+= ../stat_lib и саму библиотеку LIBS+= ../lib/libstat_lib.a В клиенте описал функцию сложение: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. И теперь когда запускаю run клиента получаю ошибку: Starting D:\Temp\C++\QT_labs\Client\debug\Client.exe... The program has unexpectedly finished. D:\Temp\C++\QT_labs\Client\debug\Client.exe crashed Из-за чего это может происходить? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 09:14 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
mr_virtus, Это не из-за библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 10:02 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Код: plaintext 1. На этой строчке спотыкается. Что с ней не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 10:10 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
mr_virtus, Не знаю. Пройди отладчиком, посмотри. Также найди в сети пример проекта на qt про использованию статической библиотеки и сделай у себя как там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 10:44 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
mr_virtus, Какая у тебя платформа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 10:46 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
MasterZiv, qt 5.2.0 MinGW 32 bit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 13:44 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
mr_virtus, тогда боюсь, что автор LIBS+= ../lib/libstat_lib.a неверно. Могу ошибаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 15:52 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Код: plaintext 1. 2. 3. 4. 5. 6. 7. Почему? Я так подключаю свою библиотеку. А в проекте с библиотекой я написал так: DESTDIR = ../lib Только ошибка все равно остается=) Была правда проблема - тип у библиотеки сначала был shared library. Но я уже создал новые проекты с static library, но проблема осталась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 16:06 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
Трудно сказать. Но если бы проблема была в библиотеке, то оно бы не собиралось, а оно у тебя не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2014, 17:00 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
Разобрался я со своими ошибками. Хочу выложить сюда алгоритм создания клиента Qt/ статической библиотеки Qt . Может быть кому-то это поможет. Создание библиотеки в QT creator New project -> Libraries -> C++ Library -> Choose; Type - Statically Linked Library; Name - static_lib.Далее все next После создания проекта для библиотеки для удобства нужно отключить теневую сборку: Project ->Shadow build->false В библиотеки опишем функцию сложения. Описание класса, созданное wizardом по умолчанию в файлах проекта удаляем. Он нам не пригодится. В static_lib.h объявляем функцию сложения: double add(double, double); В static_lib.cpp определяем функцию сложения: Код: sql 1. 2. 3. 4. . Собираем проект. Редактируем файл static_lib.pro. Для удобства определяем каталог размещения библиотеки: : DESTDIR = ../lib. Собираем проект. Библиотека готова, теперь создаем gui-клиента на qt New project -> Applications -> Qt Widgets Application-> Choose; Name - client; Далее все next После создания проекта для библиотеки для удобства нужно отключить теневую сборку: Project ->Shadow build->false Создадим в дизайнере в форме два QLineEdit поля ввода значений(назовем их first и second),кнопку add и поле вывода QLabel(назовем result) Напишем обработчик события для кнопки add: Правой кнопкой мыши на кнопке - go to slot - Clicked. В обработчике пишем код, где вызываем нашу функцию из библиотеки: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Редактируем файл client.pro - Код: sql 1. 2. 3. Подключаем #include "static_lib.h" в mainwindow.cpp(в коде, где будем использовать функцию библиотеки) Собираем проект, запускаем - проверяем =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2014, 10:46 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
После создания проекта для библиотеки для удобства нужно отключить теневую сборку: Project ->Shadow build->false На кой? Какая разница ? Редактируем файл static_lib.pro. Для удобства определяем каталог размещения библиотеки: : DESTDIR = ../lib. Собираем проект. Тоже шаг вовсе не обязательный. После создания проекта для библиотеки для удобства нужно отключить теневую сборку: Project ->Shadow build->false Чем она тебе так не угодила ? Редактируем файл client.pro - Код: sql 1. 2. Тут можно было бы просто указать путь к другим каталогам, а не указывать их при создании библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2014, 12:20 |
|
||
|
создание статической библиотеки и ошибка "The program has unexpectedly finished"
|
|||
|---|---|---|---|
|
#18+
авторПосле создания проекта для библиотеки для удобства нужно отключить теневую сборку: Project ->Shadow build->false Да всем угодила=) просто нам объясняли на первых порах её отключать. авторТут можно было бы просто указать путь к другим каталогам, а не указывать их при создании библиотеки. ну да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2014, 15:44 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38589665&tid=2019609]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 138ms |

| 0 / 0 |
