Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
1

Qt, Windows, проблема со сборкой и запуском проекта с GitHub

06.01.2020, 20:32. Показов 870. Ответов 16

Здравствуйте!
Есть один проект на GitHub: https://github.com/NewYaroslav/intrade-bar-api-cpp

В нем есть нужный пример работы с API брокера (не буду называть какого, итак понятно). Скачиваю весь проект, в нем пытаюсь открыть пример "example_api", который находится в "intrade-bar-api-cpp/code_blocks/example_api/", и запустить, но безуспешно..

Делал так:

1) Скачал архив, распаковал

2) В qt создал проект консольного типа, компилятор MINGW.

3) Скопировал код из main.cpp и вставил в пустой проект

4) Докачал всё используемые библиотеку и файлы, пути на них были указаны в файле "intrade-bar-api-cpp/.gitmodules". Добавил в папку с проектом

5) Нажал "Очистить всё", "Запустить qmake", "Пересобрать всё".

6) Но в ответ увидел кучу ошибок, решение которых так и не нашел..

Ошибки такие:

Код
00:06:28: Выполняются этапы для проекта TEST_INTRADE...
00:06:28: Запускается: «E:\Qt_new\Tools\mingw730_32\bin\mingw32-make.exe» clean -j4
E:/Qt_new/Tools/mingw730_32/bin/mingw32-make -f Makefile.Debug clean
E:/Qt_new/Tools/mingw730_32/bin/mingw32-make -f Makefile.Release clean
mingw32-make[1]: Entering directory 'C:/Users/andre_000/Desktop/build-TEST_INTRADE-Desktop_Qt_5_13_0_MinGW_32_bit-Debug'
rm -f debug/moc_predefs.h
mingw32-make[1]: Entering directory 'C:/Users/andre_000/Desktop/build-TEST_INTRADE-Desktop_Qt_5_13_0_MinGW_32_bit-Debug'
rm -f release/moc_predefs.h
      1 [main] rm 7716 tty_list::allocate_tty: No tty allocated
rm -f release/main.o
      2 [main] rm 7360 tty_list::allocate_tty: No tty allocated
rm -f debug/main.o
      1 [main] rm 7424 tty_list::allocate_tty: No tty allocated
mingw32-make[1]: Leaving directory 'C:/Users/andre_000/Desktop/build-TEST_INTRADE-Desktop_Qt_5_13_0_MinGW_32_bit-Debug'
      2 [main] rm 2340 tty_list::allocate_tty: No tty allocated
mingw32-make[1]: Leaving directory 'C:/Users/andre_000/Desktop/build-TEST_INTRADE-Desktop_Qt_5_13_0_MinGW_32_bit-Debug'
00:06:30: Процесс «E:\Qt_new\Tools\mingw730_32\bin\mingw32-make.exe» завершился успешно.
00:06:30: Настройки не изменились, этап qmake пропускается.
00:06:30: Запускается: «E:\Qt_new\Tools\mingw730_32\bin\mingw32-make.exe» -j4
E:/Qt_new/Tools/mingw730_32/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'C:/Users/andre_000/Desktop/build-TEST_INTRADE-Desktop_Qt_5_13_0_MinGW_32_bit-Debug'
g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -W -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_CORE_LIB -IE:/!!!!INTRADE_BAR/TEST_INTRADE -I. -IE:/Qt_new/5.13.0/mingw73_32/include -IE:/Qt_new/5.13.0/mingw73_32/include/QtCore -Idebug -IE:/Qt_new/5.13.0/mingw73_32/mkspecs/win32-g++  -o debug/main.o E:/!!!!INTRADE_BAR/TEST_INTRADE/main.cpp
g++ -Wl,-subsystem,console -mthreads -o debug/TEST_INTRADE.exe debug/main.o  E:/Qt_new/5.13.0/mingw73_32/lib/libQt5Cored.a   
debug/main.o: In function `main':
E:/!!!!INTRADE_BAR/TEST_INTRADE/main.cpp:93: undefined reference to `xtime::delay(unsigned long long)'
debug/main.o: In function `ZN11intrade_bar13IntradeBarApi22init_http_headers_authEv':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:138: undefined reference to `_imp__curl_slist_append'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:139: undefined reference to `_imp__curl_slist_append'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:140: undefined reference to `_imp__curl_slist_append'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:141: undefined reference to `_imp__curl_slist_append'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:142: undefined reference to `_imp__curl_slist_append'
debug/main.o:E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:143: more undefined references to `_imp__curl_slist_append' follow
debug/main.o: In function `ZN11intrade_bar13IntradeBarApi19deinit_http_headersEP10curl_slist':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:212: undefined reference to `_imp__curl_slist_free_all'
debug/main.o: In function `ZN11intrade_bar13IntradeBarApi9init_curlERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_RS6_P10curl_slistiPFiPcjjPvESF_SD_bb':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:342: undefined reference to `_imp__curl_easy_init'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:344: undefined reference to `_imp__curl_easy_setopt'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:345: undefined reference to `_imp__curl_easy_setopt'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:346: undefined reference to `_imp__curl_easy_setopt'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:347: undefined reference to `_imp__curl_easy_setopt'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:348: undefined reference to `_imp__curl_easy_setopt'
debug/main.o:E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:349: more undefined references to `_imp__curl_easy_setopt' follow
debug/main.o: In function `ZN11intrade_bar13IntradeBarApi12post_requestERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_P10curl_slistRS6_bi':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:395: undefined reference to `_imp__curl_easy_perform'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:396: undefined reference to `_imp__curl_easy_cleanup'
debug/main.o: In function `ZN11intrade_bar13IntradeBarApi15update_list_betEv':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:584: undefined reference to `xtime::get_timestamp()'
debug/main.o: In function `ZN11intrade_bar13IntradeBarApi14switch_accountEbii':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:1109: undefined reference to `xtime::delay(unsigned long long)'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:1116: undefined reference to `xtime::delay(unsigned long long)'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:1122: undefined reference to `xtime::delay(unsigned long long)'
debug/main.o: In function `ZN11intrade_bar13IntradeBarApi23switch_account_currencyEbii':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:1141: undefined reference to `xtime::delay(unsigned long long)'
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:1148: undefined reference to `xtime::delay(unsigned long long)'
debug/main.o:E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:1154: more undefined references to `xtime::delay(unsigned long long)' follow
debug/main.o: In function `ZN11intrade_bar13IntradeBarApiC1Ev':
E:/!!!!INTRADE_BAR/TEST_INTRADE/intrade-bar-api.hpp:1276: undefined reference to `_imp__curl_global_init'
debug/main.o: In function `ZNK4gzip12Decompressor10decompressINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEvRT_PKcj':
E:/!!!!INTRADE_BAR/TEST_INTRADE/gzip/decompress.hpp:49: undefined reference to `inflateInit2_'
E:/!!!!INTRADE_BAR/TEST_INTRADE/gzip/decompress.hpp:64: undefined reference to `inflateEnd'
E:/!!!!INTRADE_BAR/TEST_INTRADE/gzip/decompress.hpp:72: undefined reference to `inflateEnd'
E:/!!!!INTRADE_BAR/TEST_INTRADE/gzip/decompress.hpp:78: undefined reference to `inflate'
E:/!!!!INTRADE_BAR/TEST_INTRADE/gzip/decompress.hpp:81: undefined reference to `inflateEnd'
E:/!!!!INTRADE_BAR/TEST_INTRADE/gzip/decompress.hpp:87: undefined reference to `inflateEnd'
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Makefile.Debug:65: debug/TEST_INTRADE.exe] Error 1
mingw32-make: *** [Makefile:38: debug] Error 2
mingw32-make[1]: Leaving directory 'C:/Users/andre_000/Desktop/build-TEST_INTRADE-Desktop_Qt_5_13_0_MinGW_32_bit-Debug'
00:06:37: Процесс «E:\Qt_new\Tools\mingw730_32\bin\mingw32-make.exe» завершился с кодом 2.
Ошибка при сборке/установке проекта TEST_INTRADE (комплект: Desktop Qt 5.13.0 MinGW 32-bit)
Во время выполнения этапа «Сборка»
00:06:37: Прошло времени: 00:10.

Сижу уже не первый день, ищу решение в интернете, но бестолку.
Сразу говорю, я совсем новичок, но очень и очень нужно разобраться в чем дело и как решить проблему.

Подскажите, пожалуйста, что я делаю не так и как наконец запустить данный проект... С самим кодом я разберусь по-тихоньку по-маленьку, главная цель запустить проект для дальнейшего редактирования.

OC: Windows 8.1

Буду очень благодарен за помощь!! Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2020, 20:32
Ответы с готовыми решениями:

Проблема с запуском windows
Не знаю в какую тему писать, напишу сюда. Столкнулся с такой проблемой, при включении компьютера...

Проблема с запуском Windows 8.1
Всем доброго времени суток! У меня возникла проблема при запуске ноутбука! На экране отображается...

Проблема с запуском windows 7
Люди добрые подскажите что за фигня комп вчера работал на ура, сегодня при включении компа,...

Проблема с запуском Windows 7
помогите пожалуйста разобраться! у меня на лок.диске С была ХР, а на Е была семёрка я не...

16
14138 / 7597 / 1804
Регистрация: 30.01.2014
Сообщений: 12,707
06.01.2020, 23:45 2
Андрейка-310, нужны в собранном виде под ваш компилятор (с учетом разрядности) библиотеки:
* libcurl
* libz
* xtime_cpp https://github.com/NewYaroslav/xtime_cpp

Добавлено через 1 минуту
Компиляция у вас прошла успешно. Проблема в линковке. Из-за того, что нужные библиотеки не были указаны для линковки.
1
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
07.01.2020, 08:27  [ТС] 3
Спасибо за ответ!
То есть, для линковки нужно в .pro файле указать ссылки и названия данных библиотек?

* libcurl
* libz
* xtime_cpp https://github.com/NewYaroslav/xtime_cpp
0
14138 / 7597 / 1804
Регистрация: 30.01.2014
Сообщений: 12,707
07.01.2020, 15:38 4
Цитата Сообщение от Андрейка-310 Посмотреть сообщение
То есть, для линковки нужно в .pro файле указать ссылки и названия данных библиотек?
Вот по такому принципу: https://doc.qt.io/qt-5/third-party-libraries.html
1
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
08.01.2020, 14:12  [ТС] 5
Подключил данным образом:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
LIBS += "E:\Project\lib\libcurl.a"
LIBS += "E:\Project\lib\libcurl.dll.a"
LIBS += "E:\Project\lib\libzstd.a"
LIBS += "E:\Project\lib\libxtime_x64.a"
 
SOURCES += \
        main.cpp
        curl/curl.h
        gzip/decompress.hpp
        nlohmann/json.hpp
        xtime.hpp
        xtime.cpp
        intrade-bar-api.hpp
        zlib.h
Но всё равно ничего не изменилось.. Ошибки абсолютно те же
0
Эксперт С++
8359 / 6097 / 610
Регистрация: 10.12.2010
Сообщений: 28,420
Записей в блоге: 30
08.01.2020, 17:10 6
Так ошибка все та же. Вы не вникаете то что в доке.
1
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
08.01.2020, 19:01  [ТС] 7
Так я поэтому и задал вопрос здесь, потому что не могу вникнуть.
Подскажите, как нужно конкретно в моем случае
0
Эксперт С++
8359 / 6097 / 610
Регистрация: 10.12.2010
Сообщений: 28,420
Записей в блоге: 30
08.01.2020, 19:04 8
Не
C++ (Qt)
1
LIBS += "E:\Project\lib\libcurl.a"
А

C++ (Qt)
1
LIBS += -L"E:/Project/lib/" -llibcurl   -llibcurl.dll  -llibzstd -llibxtime_x64
1
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
08.01.2020, 19:14  [ТС] 9
Точно такая же история..
0
Миниатюры
Qt, Windows, проблема со сборкой и запуском проекта с GitHub  
Эксперт С++
8359 / 6097 / 610
Регистрация: 10.12.2010
Сообщений: 28,420
Записей в блоге: 30
08.01.2020, 19:18 10
qmake перезапускали после правок?

И я же указал как правильно - в одну строку.

libxtime_x64.a
У Вас x64 битный компилятор/проект?
1
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
08.01.2020, 19:19  [ТС] 11
Да, верно

В первом сообщении писал об этом:
"2) В qt создал проект консольного типа, компилятор MINGW."
0
Эксперт С++
8359 / 6097 / 610
Регистрация: 10.12.2010
Сообщений: 28,420
Записей в блоге: 30
08.01.2020, 19:24 12
Подозреваю Вы пытаетесь подсунуть x64-битные библиотеки 32 битному-компилятору/комплекту
1
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
08.01.2020, 19:43  [ТС] 13
Да, вы правы!
Остались некоторые ошибки только:


Код
E:/Qt_new/Tools/mingw730_64/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'E:/!!!!INTRADE_BAR/build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug'
g++ -c -fno-keep-inline-dllexport -g -std=gnu++11 -Wall -W -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DQT_QML_DEBUG -DQT_CORE_LIB -I../Final_INTRADE -I. -I../../Qt_new/5.13.0/mingw73_64/include -I../../Qt_new/5.13.0/mingw73_64/include/QtCore -Idebug -I../../Qt_new/5.13.0/mingw73_64/mkspecs/win32-g++  -o debug/main.o ../Final_INTRADE/main.cpp
g++ -Wl,-subsystem,console -mthreads -o debug/Final_INTRADE.exe debug/main.o  -LE:/!!!!INTRADE_BAR/Final_INTRADE/lib E:/!!!!INTRADE_BAR/Final_INTRADE/lib/libcurl.a E:/!!!!INTRADE_BAR/Final_INTRADE/lib/libcurl.dll.a E:/!!!!INTRADE_BAR/Final_INTRADE/lib/libzstd.a E:/!!!!INTRADE_BAR/Final_INTRADE/lib/libxtime_x64.a E:/Qt_new/5.13.0/mingw73_64/lib/libQt5Cored.a   
debug/main.o: In function `void gzip::Decompressor::decompress<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, unsigned long long) const':
E:\!!!!INTRADE_BAR\build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug/../Final_INTRADE/gzip/decompress.hpp:49: undefined reference to `inflateInit2_'
E:\!!!!INTRADE_BAR\build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug/../Final_INTRADE/gzip/decompress.hpp:64: undefined reference to `inflateEnd'
E:\!!!!INTRADE_BAR\build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug/../Final_INTRADE/gzip/decompress.hpp:72: undefined reference to `inflateEnd'
E:\!!!!INTRADE_BAR\build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug/../Final_INTRADE/gzip/decompress.hpp:78: undefined reference to `inflate'
E:\!!!!INTRADE_BAR\build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug/../Final_INTRADE/gzip/decompress.hpp:81: undefined reference to `inflateEnd'
E:\!!!!INTRADE_BAR\build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug/../Final_INTRADE/gzip/decompress.hpp:87: undefined reference to `inflateEnd'
collect2.exe: error: ld returned 1 exit status
mingw32-make[1]: *** [Makefile.Debug:65: debug/Final_INTRADE.exe] Error 1
mingw32-make: *** [Makefile:38: debug] Error 2
mingw32-make[1]: Leaving directory 'E:/!!!!INTRADE_BAR/build-Final_INTRADE-Desktop_Qt_5_13_0_MinGW_64_bit-Debug'
23:33:51: Процесс «E:\Qt_new\Tools\mingw730_64\bin\mingw32-make.exe» завершился с кодом 2.
Ошибка при сборке/установке проекта Final_INTRADE (комплект: Desktop Qt 5.13.0 MinGW 64-bit)
Во время выполнения этапа «Сборка»
23:33:51: Прошло времени: 00:10.
0
Миниатюры
Qt, Windows, проблема со сборкой и запуском проекта с GitHub  
Эксперт С++
8359 / 6097 / 610
Регистрация: 10.12.2010
Сообщений: 28,420
Записей в блоге: 30
08.01.2020, 20:25 14
Нужна видимо еще одна библиотека связанная с gzip
0
14138 / 7597 / 1804
Регистрация: 30.01.2014
Сообщений: 12,707
08.01.2020, 21:46 15
Цитата Сообщение от Андрейка-310 Посмотреть сообщение
Да, вы правы!
Цитата Сообщение от DrOffset Посмотреть сообщение
с учетом разрядности
...

Цитата Сообщение от Андрейка-310 Посмотреть сообщение
decompress.hpp:49: undefined reference to `inflateInit2_'
libz
Писал выше.

LIBS += -L"E:/Project/lib/" -lcurl.dll -lz -lxtime_x64
1
0 / 0 / 0
Регистрация: 01.07.2015
Сообщений: 8
08.01.2020, 23:09  [ТС] 16
Спасибо большое, помогло, всё собралось и запустилось, но консольное приложение зависает при запуске, даже не выводит сообщение "cout" в начале кода.. есть вот такие ошибки
0
Миниатюры
Qt, Windows, проблема со сборкой и запуском проекта с GitHub   Qt, Windows, проблема со сборкой и запуском проекта с GitHub  
Эксперт С++
8359 / 6097 / 610
Регистрация: 10.12.2010
Сообщений: 28,420
Записей в блоге: 30
08.01.2020, 23:12 17
dll ки нужно кинуть в папку с экзешником.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2020, 23:12

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

Проблема с запуском Windows 7
Ребята, у меня такая проблема: установил семерку, потом что то сделал, и теперь ноут не видит Хард,...

Серьёзная проблема с запуском Windows Xp
Подскажите пожалуйста, можно ли решить такую проблему: при запуске Windows Xp, после загрузки с...

проблема с запуском приложений в Windows XP
Здравствуйте! сегодня обнаружил проблему с ПК. при запуске некоторых приложений (например,...

Проблема с запуском League of Legends на Windows 7
Драствуйте ише раз ! извините просто пк был в ремонте ... на даный момент ОП Windows 7 Maximal...


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

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

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