@ProCxx

Страница 2305 из 2477
Max
28.08.2018
10:55:54
Самой главной проблемой кмк будет сделать так, чтобы db_head читабельно ругался если его в конечном счете линкуют без реализации Т.е. нужна зависимость "от хотя бы одного из Х", как это сделать в цмаке я не знаю Без этого посыпятся куча непонятных ошибок линковки и ненайденных функций
почему непонятных? Будут вполне конкретные unresolved reference, с вполне конкретными именами методов. Также, как уже сказали, в общем случае — это пробелма не уровня системы сборки. Если так прям хочется какой-то кастомный выхлоп, то можешь в target_link_libraries передавать не имя, а какой-нибудь ${IMPL_LIB_NAME}, а предварительно проверять есть ли в этой переменной ровно одно имя.

Nikita
28.08.2018
10:55:57
Потому что мне кажется когда ты делаешь add_library, то статическая либа идёт уже готовая

Ruslan
28.08.2018
10:56:11
В таргете уже разруливаешь

Nikita
28.08.2018
10:56:21
Google
Ruslan
28.08.2018
10:57:23
В каком таргете?
Драйвере/плагине/либе для работы с бд

Nikita
28.08.2018
10:58:13
Драйвере/плагине/либе для работы с бд
Вот и вопрос как это качественно организовать, чтобы не шинковать лишний раз имплементацию

Ruslan
28.08.2018
10:59:49
Если имплементация различается минимально, то хоть и дефайнами

Если существенное, то общий код выносить в common каталог

Но тут точно проблема мимо таргете для хидеров

Nikita
28.08.2018
11:01:53
Вопрос не в этом немного

А в том что есть другие таргеты которые используют только хэдеры

И не хочется к ним тащить имплементацию

Ruslan
28.08.2018
11:02:53
Это как

Может тогда форвард деклараций хватит

Nikita
28.08.2018
11:03:42
Там pure virtual классы

Ruslan
28.08.2018
11:04:36
А, ну, раз только как интерфейс, то выноси смело, ага

Google
Ruslan
28.08.2018
11:05:11
И клиент, и имплементации будут от него зависеть

У нас такое даже в отдельной репе сидело

Правда разруливалось не на уровне шмейка, а больше гитом в виде сабмодуля

Nikita
28.08.2018
11:06:58
Ну про отдельную репу этого не нужно

Похоже что придется отдельный таргет для интерфейсов делать. Всем спасибо

Ruslan
28.08.2018
11:07:57
Неважно. Я просто подчеркнул, что логически это нормально иметь отдельную сущность для интерфейсов

Oleg
28.08.2018
11:09:40
А как корректно заинклудить хидер, в котором есть реализация метода, в несколько других хидеров?

Alexander
28.08.2018
11:10:30
а в чём проблема?

Oleg
28.08.2018
11:10:47
multiply definition

Alexander
28.08.2018
11:10:58
multiply definition
ну только если ты инклуд гарды не пишешь

Oleg
28.08.2018
11:11:03
gbie

пишу

от реализации они не спасают

Ruslan
28.08.2018
11:11:40
от реализации они не спасают
Ты про темплейты небось?

Oleg
28.08.2018
11:11:46
нет

просто метод

Ruslan
28.08.2018
11:12:26
просто метод
Тогда гарды должны помочь же?

Alexander
28.08.2018
11:12:32
ну тогда посмотри, как в STL сделано

Тогда гарды должны помочь же?
ему не помогают, как видишь

Google
Max
28.08.2018
11:12:53
А как корректно заинклудить хидер, в котором есть реализация метода, в несколько других хидеров?
не надо так. Выноси в реализацию. В инклуды подключай только объявления.

Ruslan
28.08.2018
11:12:58
Я не смог себе представить юзкейз

Аааа

На этапе линковки такое падает, да

Вспомнил

Oleg
28.08.2018
11:13:25
да

Dmitry
28.08.2018
11:13:32
Поделитесь опытом: надо в WinPE zip распаковать. Архив будет многофайловый с поддиректориями и все такое. Вижу три варианта:

Oleg
28.08.2018
11:13:34
odr нарушается

Ruslan
28.08.2018
11:13:47
Dmitry
28.08.2018
11:14:15
1. SFX 2. Что-то типа FreeZip 3. Библиоткеа

Что порекомендуете?

Alexander
28.08.2018
11:14:24
Я не смог себе представить юзкейз
// A.h void foo() {} // B.h include "A.h" // C.h include "A.h" include "B.h"

Oleg
28.08.2018
11:14:30
inline?
О. точно! Это помогло. Спасибо

Ruslan
28.08.2018
11:14:50
Oleg
28.08.2018
11:15:02
// A.h void foo() {} // B.h include "A.h" // C.h include "A.h" include "B.h"
можно и без последней строчки инклуда

Alexander
28.08.2018
11:16:25
О. точно! Это помогло. Спасибо
можно попробовать ещё в анонимный неймспейс

Oleg
28.08.2018
11:16:41
я лучше сделаю отдельно реализацию

Max
28.08.2018
11:16:49
оно и компиляться быстрее будет.

Ruslan
28.08.2018
11:17:19
Это определенно правильно

Google
Dmitry
28.08.2018
11:17:29
http://www.chilkatsoft.com/zip-library.asp

Кто-то юзал?

Ruslan
28.08.2018
11:18:49
Я бы смотрел в сторону 7zip

Dmitry
28.08.2018
11:20:36
Я бы смотрел в сторону 7zip
Смотрю. РКН мешает. Щас тора запущу )))

Ruslan
28.08.2018
11:21:06
РКН?

Dmitry
28.08.2018
11:21:10
Я бы смотрел в сторону 7zip
Думаете не городить в коде?

Ruslan
28.08.2018
11:21:11
За что?

Alexander
28.08.2018
11:21:11
http://www.chilkatsoft.com/zip-library.asp
а libzip не подойдёт?

Igor
28.08.2018
11:21:52
просто метод
сделать его inline

Dmitry
28.08.2018
11:22:11
За что?
У меня с моим провайдером сейчас половина страниц, что на гугле хостятся, не открывается. Пишу им а они все стрелки на РКН переводят.

а libzip не подойдёт?
Я раньше с zip не сталкивался, по этому и спрашиваю, что народ использует.

Дед Пегас
28.08.2018
11:54:58
/ban

Combot
28.08.2018
11:55:58
To use administrating commands, make sure @combot is an admin in your chat. Fix this and try again.

Ekaterina
28.08.2018
12:02:44
#вакансия не очень понятен процесс публикации, если честно

Alexander
28.08.2018
12:03:18
#вакансия не очень понятен процесс публикации, если честно
пишешь в ЛС @AlexFails и ему вакансию кидаешь

напрямую в чат низя

Matwey
28.08.2018
12:03:50
#вакансия не очень понятен процесс публикации, если честно
Есть отдельный канал для тех кому нужны вакансии

Ekaterina
28.08.2018
12:04:16
пишешь в ЛС @AlexFails и ему вакансию кидаешь
Он молчит. Ну ок, просто кину ему и буду ждать

Matwey
28.08.2018
12:04:32
Наверное он спит

Или кушает

Google
Matwey
28.08.2018
12:04:39
Или в туалете

Да мало ли что с ним

Дед Пегас
28.08.2018
12:04:44
Или работает.)

Ruslan
28.08.2018
12:17:22
Ишь ты

Работает он

Денис
28.08.2018
14:21:41
Привет всем

Существует асинхронная либа для отправки в гугл аналитикс?

Денис
28.08.2018
14:25:01
Asio :D
Типа сам обрачивай?)

Eugene
28.08.2018
14:26:55
Типа REST api же само по себе хорошо и удобно

https://github.com/jgaa/restc-cpp Можно что-то такое юзать. То есть готовые либы для рест апи

Крис
28.08.2018
14:27:27
Существует асинхронная либа для отправки в гугл аналитикс?
https://github.com/analytics-pros/universal-analytics-c Ну враппер под аналитикс есть, но он сишный

Ruslan
28.08.2018
14:30:36
А какой он еще должен быть. пару запросов в курл завернуть?

Alex Фэils?︙
28.08.2018
14:37:54
Работает он
А ну цыц, не мешайте мне спат^W работать) да, спс, обработал уже

Ruslan
28.08.2018
14:39:07
А ну цыц, не мешайте мне спат^W работать) да, спс, обработал уже
Тьфу ты! Только сел поработать и ты уже будишь!

Игорь
28.08.2018
15:39:18
всем привет, есть вопрос. Я знаю что из с++ можно вызывать ява методы, а можно ли из явы вызывать с++ функции? Например, когда андроид сообщает что произошла смена состояния (например закрытие приложения) нужно сохранить всё, а для этого нужно вызвать с++ фунцкию. как это можно реализовать?

Игорь
28.08.2018
15:46:24
ну через jni я вызывал методы java в с++, а мне бы вот наоборот

Страница 2305 из 2477