LINUX.ORG.RU

Qt. stdlib.h: No such file or directory #include_next <stdlib.h>

 ,


0

1

Переношу свой проект, который пока собирается в Qt с Debian 8 на Debian 9.

Получаю ошибку

/usr/include/c++/6/cstdlib:75: error: stdlib.h: No such file or directory
#include_next <stdlib.h>

apt-get install libstd* не помогло.

// Need to ensure this finds the C library's <stdlib.h> not a libstdc++
// wrapper that might already be installed later in the include search path.
#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
#include_next <stdlib.h>
#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS


Последнее исправление: user08 (всего исправлений: 3)
Ответ на: комментарий от XMs

собирается в Qt

Да это очередной кнопконажиматель в гуях, который понятия не имеет, что происходит. Спорим, он даже не знает, какой у него компилятор?

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

Спорим, он даже не знает, какой у него компилятор?

g++ (Debian 6.3.0-18)

user08
() автор топика
Ответ на: комментарий от user08

А в этом pro-файле нет ли чего-то, связанного с опциями компилятора? Было бы неплохо на него глянуть, если это возможно

XMs ★★★★★
()
Ответ на: комментарий от XMs

А в этом pro-файле нет ли чего-то, связанного с опциями компилятора? Было бы неплохо на него глянуть, если это возможно

QT -= core
QT -= gui

CONFIG += c++17

CONFIG(release, debug|release) {
    TARGET = ***
}

CONFIG(debug, debug|release) {
    TARGET = ***
}

CONFIG      += console
CONFIG      -= app_bundle

DEFINES     += "***"

INCLUDEPATH += $(BOOST)/include
INCLUDEPATH += ..

win32: INCLUDEPATH += $(OPENSSL)/include
win32: INCLUDEPATH += $(ZLIB)/include
win32: INCLUDEPATH += $(EPA)

unix:  INCLUDEPATH += /usr/include
unix:  INCLUDEPATH += /usr/include/openssl
unix:  INCLUDEPATH += /opt/eos_portable_archive

TEMPLATE = app

SOURCES += \
    ***

HEADERS += \
    ***


win32: LIBS += -lws2_32
win32: LIBS += -L$(ZLIB)/lib    -lzdll
win32: LIBS += -L$(OPENSSL)/lib -llibeay32
win32: LIBS += -L$(OPENSSL)/lib -lssleay32
win32: LIBS += -L$(BOOST)/lib

#unix:  LIBS += -L/usr/lib/x86_64-linux-gnu -lz
#unix:  LIBS += -L/usr/lib/x86_64-linux-gnu -lssl
#unix:  LIBS += -L/usr/lib/x86_64-linux-gnu -lcrypto

unix:  LIBS += -lz
unix:  LIBS += -lssl
unix:  LIBS += -lcrypto

CONFIG(release, debug|release) {
    unix: LIBS += $(BOOST)/lib/libboost_serialization-mt.a
    unix: LIBS += $(BOOST)/lib/libboost_system-mt.a
    unix: LIBS += $(BOOST)/lib/libboost_filesystem-mt.a
}

CONFIG(debug, debug|release) {
    unix: LIBS += $(BOOST)/lib/libboost_serialization-mt-d.a
    unix: LIBS += $(BOOST)/lib/libboost_system-mt-d.a
    unix: LIBS += $(BOOST)/lib/libboost_filesystem-mt-d.a
}

#	ws2_32.lib
#	zdll.lib
#	$(BOOST_LIB)/libboost_serialization-vc140-mt-1_61.lib
#	$(OPENSSL)/lib/libeay32.lib
#	$(OPENSSL)/lib/ssleay32.lib

#win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/release/ -lmylib
#else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/debug/ -lmylib
#else:unix: LIBS += -L$$OUT_PWD/../../../projects/mylib/ -lmylib

#INCLUDEPATH += $$PWD/../../../projects/mylib
#DEPENDPATH += $$PWD/../../../projects/mylib

#win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/release/mylib.lib
#else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/debug/mylib.lib
#else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a

#CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/usr/lib/x86_64-linux-gnu/ -llibz


#INCLUDEPATH += /opt/boost_1_61_0/include
#INCLUDEPATH += /usr/include
user08
() автор топика
Ответ на: комментарий от user08

unix: LIBS += -lz
unix: LIBS += -lssl
unix: LIBS += -lcrypto

Выкинул бы ту уже эту каку и поставил cmake.

UVV ★★★★★
()

Дашь сорцы или SSH-доступ, помогу собрать без проблем.

С CMake тоже могу помочь, если захочешь.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Дашь сорцы или SSH-доступ, помогу собрать без проблем.
С CMake тоже могу помочь, если захочешь.

Сначала мне надо весь свой труд из проекта убрать. А что значит с CMake могу помочь? Типа освободить сборку от Qt-Creator?

user08
() автор топика
Ответ на: комментарий от EXL

Qt Creator достаточно неплохо поддерживает CMake

Ну я если честно не понял с чем помочь с CMake. Для меня сейчас главное добиться, чтобы сервер собирался.

user08
() автор топика
Ответ на: комментарий от ult

Для тех, что уже знает, как происходит процесс сборки достаточно для того, чтобы не писать уже Makefile вручную и не запускать руками компилятор и линкер и готов перейти с vim на IDE для редактирования кода.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от DELIRIUM

Для тех, что уже знает, как происходит процесс сборки достаточно для того, чтобы не писать уже Makefile вручную и не запускать руками компилятор и линкер и готов перейти с vim на IDE для редактирования кода.

Ну извините. Я над своим проектом уже не первый год работаю и он справляется со своими задачами. И почему-то сильно не уверен, что если я его буду собирать через qmake то сразу всё соберётся.

user08
() автор топика
Последнее исправление: user08 (всего исправлений: 1)
Ответ на: комментарий от UVV

Ты очень добрый. Это же всё бесплатно? Мне тоже можешь помочь? )

Ну конечно тс сначала уберёт из проекта всё что не влияет на ошибки.

user08
() автор топика
Ответ на: комментарий от EXL

Я к тому, что если запланируешь переход на CMake когда-либо.

Планирую, да. Но там пока и так задач хватает. Мне сейчас главное чтобы он вообще собирался :)

user08
() автор топика
Ответ на: комментарий от UVV

См. удалённые тут: Помогите собрать кошелек!

Вот так наши модераторы способствуют развитию форума и заинтересованности энтузиастов в помощи другим людям.

Ты очень добрый. Это же всё бесплатно?

Нет, я злой. Видишь, иду вопреки сегодняшним канонам модерирования.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от user08

Ага. Удачи. И улучшай скилл гуглить на иностранных языках.

P.S. Отметь тему как решённую, если всё норм будет.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от user08

И почему-то сильно не уверен, что если я его буду собирать через qmake то сразу всё соберётся.

А сейчас ты через что собираешь?

Kuzy ★★★
()
Ответ на: комментарий от Kuzy

А сейчас ты через что собираешь?

Qt-Creator. Сервер от библиотек Qt не зависит. Есть в планах его освободить от сборки в Qt-Creator.

user08
() автор топика
Ответ на: комментарий от user08

Есть в планах его освободить от сборки в Qt-Creator.

Да он и так освобождён.

$ cd project_dir/
$ qmake-qt5 project_file.pro
$ make -jN

1. Вместо qmake-qt5 может быть просто qmake, зависит от дистра.
2. N в -jN следует заменить на суммарное число всех ядер (вместе HT) процессора, например, -j8 для четырёхядерного проца с HT.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Вот так наши модераторы способствуют развитию форума и заинтересованности энтузиастов в помощи другим людям.

Да-да. Можешь посмотреть как я их послал на прошлой-позапрошлой неделе в разделе ЛОР.

UVV ★★★★★
()
Ответ на: комментарий от user08

Сервер от библиотек Qt не зависит

Но при этом собирается qmake-ом. *.pro-файлы — это его. У других систем сборки другие файлы используются. И ты и сейчас можешь его собрать без Qt Creator

XMs ★★★★★
()
Ответ на: комментарий от XMs

Но при этом собирается qmake-ом. *.pro-файлы — это его. У других систем сборки другие файлы используются. И ты и сейчас можешь его собрать без Qt Creator

.pro файл я могу собрать cmake'ом?

user08
() автор топика
Ответ на: комментарий от user08

Ну понятно что qmake для сборки сервера мне не нужен. Просто сейчас есть более актуальные задачи по проекту. А так конечно надо его освободить от qmake'а.

user08
() автор топика
Последнее исправление: user08 (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

//мимокрокодил:

некоторые старые пердуны, к слову, до сих пор педалят под вим с шириной строки в 80 символов и компилят мейкфайлами

в 2017, Карл!

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

некоторые старые пердуны, к слову, до сих пор педалят под вим с шириной строки в 80 символов и компилят мейкфайлами

DELIRIUM вероятно один из них.

user08
() автор топика
Ответ на: комментарий от user08

Ну, допустим, смысл в юзании мейкфайлов до сих пор я понимаю. Еще более менее титаническими усилиями можно vim превратить в ide (гыг, гыгыг!).
Но я реально видел людей которые ограничивают себя шириной строки в 80 символов. Это с фуллхп дисплеями.

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

Ага, и троллят на форумах таких ламеров как я. Которые привыкли в Visual Studio отлаживать, а не в GDB.

user08
() автор топика
Последнее исправление: user08 (всего исправлений: 1)
Ответ на: комментарий от user08

.pro файл я могу собрать cmake'ом?

Нет, конечно. Для CMake надо будет писать отдельные сценарии

XMs ★★★★★
()
Ответ на: комментарий от DELIRIUM

ну я так делаю, у меня основные инструменты - vim + cmake. Пишу на C++.

И ещё троллишь тех кто сервер в Visual Studio пишет, а потом на линукс переносит.

user08
() автор топика
Ответ на: комментарий от user08

Я с такими не общаюсь =) Хотя, кстати, я работал на проекте, где сервер, намертво заточенный под Solaris/sparc, писали в Visual Studio, тк ничего кроме неё и винды на рабочие станции было нельзя ставить (ну я правда частенько писал код в putty + vim).

DELIRIUM ☆☆☆☆☆
()
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от DELIRIUM

Ну а я вот шланг. В виме только конфиги редактирую. Код писать умею, а с вимом гдб и смэйком ещё не успел подружиться. Хотя работал с ними.

user08
() автор топика
Ответ на: комментарий от DELIRIUM

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

user08
() автор топика
Ответ на: комментарий от user08

Qt Creator - это IDE. Сам по себе он ничего не собирает.

По умолчанию, если ты явно не задал обратного, Qt Creator вызывает qmake.

EternalNewbie
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.