Size: a a a

2021 May 15

TK

Timur Kravc in pro.buildsystems
Спасибо
источник

LK

Lev Khoroshansky in pro.buildsystems
>НУЖНО отсортировать так, как реально должно быть в проекте
Why?
источник

SS

Sergey S in pro.buildsystems
Потому что я не знаю, какие файлы за что отвечают, и судить могу только по именам. Какие-то в паблик необходимо вынести, а какие-то нет необходимости, а какие-то попросту не нужно.
источник

LK

Lev Khoroshansky in pro.buildsystems
То есть тут слово “отсортировать” подразумевает группировку, а не сортировку?
источник

SS

Sergey S in pro.buildsystems
Да, это слово лучше подходит.
источник

SS

Sergey S in pro.buildsystems
Кстати, забыл пробросить target_include_directories(estimator PUBLIC header) в estimator
источник

LK

Lev Khoroshansky in pro.buildsystems
источник

TK

Timur Kravc in pro.buildsystems
Теперь такая ошибка при сборке
[ 45%] Building C object simple_rtp_client/gstgccanalysis/CMakeFiles/gstgccanalysis.dir/gstgccanalysis.c.o
<command-line>: error: macro names must be identifiers

О чём это говорит ?
https://github.com/lIkesimba9/real_time_video
источник

SS

Sergey S in pro.buildsystems
Через час смогу посмотреть
источник

SS

Sergey S in pro.buildsystems
Ну... Посмотрел. Тут без поллитры не обойтись, нужно лезть в кишки макросов gstreamer'а.
Еще забыл поправить, set(CMAKE_CXX_STANDARD 17) — эта строка бесполезна, все равно все компилируется сишным компилятором.
источник

TK

Timur Kravc in pro.buildsystems
ммм, если так добавлять либы
pkg_check_modules(GST REQUIRED gstreamer-1.0)
include_directories(${GST_INCLUDE_DIRS})
link_directories(${GST_LIBRARY_DIRS})
add_definitions(${GST_CFLAGS_OTHER})

pkg_check_modules(GST_RTP REQUIRED gstreamer-rtp-1.0)
include_directories(${GST_RTP_INCLUDE_DIRS})
link_directories(${GST_RTP_LIBRARY_DIRS})
add_definitions(${GST_RTP_CFLAGS_OTHER})

set(LIBS ${LIBS} ${GST_RTP_LIBRARIES} ${GST_LIBRARIES})
target_link_libraries(gstgccanalysis PRIVATE ${LIBS})

то ошибка пропала...
а если
#target_include_directories(gstgccanalysis PRIVATE ${GST_INCLUDE_DIRS})
#target_link_directories(gstgccanalysis PRIVATE ${GST_LIBRARY_DIRS})
#target_compile_definitions(gstgccanalysis PRIVATE ${GST_CFLAGS_OTHER})
# аналогично для gst-rtp
#target_include_directories(gstgccanalysis PRIVATE ${GST_RTP_INCLUDE_DIRS})
#target_link_directories(gstgccanalysis PRIVATE ${GST_RTP_LIBRARY_DIRS})
#target_compile_definitions(gstgccanalysis PRIVATE ${GST_RTP_CFLAGS_OTHER})
то появляется  ошибка
источник

TK

Timur Kravc in pro.buildsystems
почему так ?
источник

M

MDenis2k in pro.buildsystems
cmake + ninja: есть ли вариант явно ему указать использовать msvc или mingw и 32 или 64 бита? Пока нашёл что мол он сам по переменным окружения всё выведет. Но этот как-то "ненадёжненько". Хочется явно параметром как-то или настройкой
источник

TK

Timur Kravc in pro.buildsystems
Даже более конкретнее,
если использую эту функцию add_definitions(${GST_CFLAGS_OTHER}) то ошибки нету,
а target_compile_definitions(gstgccanalysis PRIVATE ${GST_CFLAGS_OTHER}), то появляется ошибка .. В  чём разница в этих функциях я непонял
источник

SS

Sergey S in pro.buildsystems
Во-первых, я забыл
target_link_libraries(gstgccanalysis PRIVATE ${GST_LIBRARIES} ${GST_RTP_LIBRARIES})
Это само по себе не лечит проблему, но все равно косяк.

Во-вторых, поправь кодировку. Мои файлы в utf-8, у тебя что-то другое, и русские комментарии превращаются в японские иероглифы.

В-третьих, немного погуглив, я нашел, как не мучаться с флагами при импорте пакетов через pkg-config — судя по всему, я забыл что-то еще прописать, но это уже не важно, так как с этим способом все эти ручные прописывания флагов не нужны, в т.ч. упомянутые в "во-первых"
https://stackoverflow.com/questions/29191855/what-is-the-proper-way-to-use-pkg-config-from-cmake


Поправленный файл прикрепил.
источник

SS

Sergey S in pro.buildsystems
>msvc или mingw
https://stackoverflow.com/questions/45933732/how-to-specify-a-compiler-in-cmake
>32 или 64
https://stackoverflow.com/questions/5805874/the-proper-way-of-forcing-a-32-bit-compile-using-cmake/28047073

Все это, используемое без реальной необходимости, является плохим тоном.
источник

M

MDenis2k in pro.buildsystems
угу. Думал может быть просто уже есть какой более явный, простой, устоявшийся вариант указания этих настроек. Спасибо. Буду пробовать
источник

SS

Sergey S in pro.buildsystems
Ну устоявшийся вариант это export CC=clang; export CXX=clang++;
clang просто для примера
источник

SS

Sergey S in pro.buildsystems
В винде это через редактор переменных окружения задается
источник

M

MDenis2k in pro.buildsystems
понял
источник