
Alexander
24.10.2018
13:05:38

Alex
24.10.2018
13:05:44
У нас свой продукт, и нам разворачивать свой сервер абсолютно не нужно и даже вредно.

Anatoly
24.10.2018
13:05:56
вообщем, Саша правильные аргументы предоставил, которые пока vcpkg не перебил

Alexander
24.10.2018
13:06:01

Google

Alex
24.10.2018
13:06:01
и уж тем более мне для личных проектов

Anatoly
24.10.2018
13:06:02
а так да, удобная штука

Alexander
24.10.2018
13:06:41
благо сейчас хоть появилась поддержка linux/osx. потому что раньше и её не было. вот смеху то было

Alex
24.10.2018
13:07:23

Konstantin
24.10.2018
13:08:33
да

Alex
24.10.2018
13:09:18
На Linux вообще эти извраты не должны быть нужны, по идее, есть же apt, yum и др. Поэтому я испытал особенно сильное разочарование, когда за полчаса так и не смог завести на Линуксе С++ драйвер MongoDB. Видимо, буду и на Убунту ставить vcpkg.
А OSX вывозит brew, там тоже больше ничего не должно быть нужно

Andrew
24.10.2018
13:10:28
(естественно, ставятся они не рядом)

Anatoly
24.10.2018
13:11:33

Marsel
24.10.2018
13:11:55


Alex
24.10.2018
13:11:57
так а что мешает к имени пакета добавить циферки номера версии?

Google

Alex
24.10.2018
13:12:10
в том же apt
не вижу принципиальной проблемы

Konstantin
24.10.2018
13:13:38
нужно чтобы соответсвующее ppa было, со свежим бустом например, а оно не всегда есть

Andrew
24.10.2018
13:13:48
То, что эти зависимости на местах прибиты без циферок?

Konstantin
24.10.2018
13:15:24

Alex
24.10.2018
13:16:14
У вас даже OpenCV нет???

Konstantin
24.10.2018
13:16:30
оно сейчас в ревью как раз

Anatoly
24.10.2018
13:17:52

Marsel
24.10.2018
13:22:44
ребят, извините ещё раз, а кто-то подключал библиотеку libcurl к Visual Studio? просто уже 3 день немогу подключить нормально, большую часть инструкций пересмотрел, но постоянно выскакивает ошибка./

Ilia
24.10.2018
13:24:17

Marsel
24.10.2018
13:32:46
Я подключал.
извини, а каким образом?
я делал всё как в инструкции от разработчика, но появляется ошибка "Error LNK2019 unresolved external symbol", через NuGet manager даже пробовал, но выходит сообщение, что система неможет найти .dll файл./


Ilia
24.10.2018
13:33:33
Может, это тебе поможет?
В общем, нужно понимать следующее:
0) В VC и Win нет определенного места, куда складываться библиотеки, заголовки и прочие артефакты для сборки.
1) конфигурирование сборки производится для каждого проекта отдельно. Что и хорошо, и плохо.
2) Для сборки с библиотеками указываются два места:
-- где брать заголовочные файлы библиотеки (INCLUDE)
-- где брать объектные файлы и библиотеки объектных модулей библиотеки (тавтология уместна, какие-то библиотеки могут состоять из нескольких библиотек объектных модулей) (LIB)
Первое указывается в переменной окружения INCLUDE
Второе -- переменной LIB.
(Это универсально для почти всех платформ и компиляторов, а не только в VC).
3) Очевидно, что библиотеку нужно куда-то положить на диске, где она будет доступна (доступ нужен только на чтение, иногда это полезно)
4) Можно сконфигурировать проект для сборки на уровне проекта. Это проще.
В свойствах конкретного проекта нужно найти место для указания Include directories и добавить туда путь к папке с заголовками библиотеки.
Также надо найти в свойствах проекта место для указания Library directories, и добавить туда путь к папке с объектными модулями или библиотеками объектных модулей библиотеки.
5) Можно сконфигурировать подключение библиотеки на уровне всей системы, хоста, где идёт сборка.
Для этого нужно всего лишь добавить соотв. папки из п.(4) в переменные окружения INCLUDE и LIB соответствено.
Проблема тут в том, что в современных версиях VC всё сделано для того, чтобы наоборот изолировать каждый проект (solution) от внешней среды, и проект может переопределять глобальные переменные окружения INCLUDE, LIB и прочие.
Как гарантированно затащить INCLUDE и LIB в Solution, я не знаю, и наверное универсального рецепта нет.
Но есть т.н. VCVARS.BAT, файл, который призван служить как раз для настройки окружения для работы компилятора VC, так что можно добавить пути к заголовкам и либам туда, проблема только в том, что этот скрипт используется только для сборки НЕ ИЗ IDE, а IDE его не использует. Наверное, переменные для IDE лежат где-то в реестре.
Но точно можно на уровне Solution указать, что такие-то и такие-то переменные окружения я хочу использовать из системы.


Alexander
24.10.2018
13:34:39
На Linux вообще эти извраты не должны быть нужны, по идее, есть же apt, yum и др. Поэтому я испытал особенно сильное разочарование, когда за полчаса так и не смог завести на Линуксе С++ драйвер MongoDB. Видимо, буду и на Убунту ставить vcpkg.
ох снова ты меня поджигаешь.
Системный пакетный менеджер не должен заниматься менеджементом зависимостей для разработки. Точка.
Потому что существует слишком много дистрибутивов, и у каждого свои методы и правила пакетирования. Например, в Fedora политика держать только последние версии пакетов. А если мне не нужна последняя версия? А если я хочу не только Fedora, а Suse, Ubuntu, Debian, Arch? В общем, системный пакетный менеджер не имеет к этому вопросу никакого отношения

Alex
24.10.2018
13:36:15
Вот это я талант! Уже давно ушёл писать код и флудить на StackOverflow, а до сих пор поджигаю :)

Ilia
24.10.2018
13:39:34


Vyacheslav
24.10.2018
13:43:41
В общем, нужно понимать следующее:
0) В VC и Win нет определенного места, куда складываться библиотеки, заголовки и прочие артефакты для сборки.
1) конфигурирование сборки производится для каждого проекта отдельно. Что и хорошо, и плохо.
2) Для сборки с библиотеками указываются два места:
-- где брать заголовочные файлы библиотеки (INCLUDE)
-- где брать объектные файлы и библиотеки объектных модулей библиотеки (тавтология уместна, какие-то библиотеки могут состоять из нескольких библиотек объектных модулей) (LIB)
Первое указывается в переменной окружения INCLUDE
Второе -- переменной LIB.
(Это универсально для почти всех платформ и компиляторов, а не только в VC).
3) Очевидно, что библиотеку нужно куда-то положить на диске, где она будет доступна (доступ нужен только на чтение, иногда это полезно)
4) Можно сконфигурировать проект для сборки на уровне проекта. Это проще.
В свойствах конкретного проекта нужно найти место для указания Include directories и добавить туда путь к папке с заголовками библиотеки.
Также надо найти в свойствах проекта место для указания Library directories, и добавить туда путь к папке с объектными модулями или библиотеками объектных модулей библиотеки.
5) Можно сконфигурировать подключение библиотеки на уровне всей системы, хоста, где идёт сборка.
Для этого нужно всего лишь добавить соотв. папки из п.(4) в переменные окружения INCLUDE и LIB соответствено.
Проблема тут в том, что в современных версиях VC всё сделано для того, чтобы наоборот изолировать каждый проект (solution) от внешней среды, и проект может переопределять глобальные переменные окружения INCLUDE, LIB и прочие.
Как гарантированно затащить INCLUDE и LIB в Solution, я не знаю, и наверное универсального рецепта нет.
Но есть т.н. VCVARS.BAT, файл, который призван служить как раз для настройки окружения для работы компилятора VC, так что можно добавить пути к заголовкам и либам туда, проблема только в том, что этот скрипт используется только для сборки НЕ ИЗ IDE, а IDE его не использует. Наверное, переменные для IDE лежат где-то в реестре.
Но точно можно на уровне Solution указать, что такие-то и такие-то переменные окружения я хочу использовать из системы.
А можно использовать CMake. Solution'ы тогда будут генерироваться сразу с указанными зависимостями.
Или использовать консольный msbuild для сборки уже настроенного solution

Google

Marsel
24.10.2018
13:51:25
Какой этап сборки не проходит и какую ошибку выдаёт?
сама сборка проходит успешно, ошибок при сборке не выходило, использовал такую команду "nmake /f Makefile.vc mode=static VC=15 MACHINE=x64 DEBUG=no", после в свойствах проекта указывал дополнительные каталоги библиотек и доп. каталоги включаемых файлов.
пробовал делать по этой инструкции https://www.codepool.biz/build-use-libcurl-vs2015-windows.html
но ошибка которая освещалась в ней не проходила.

Ilia
24.10.2018
13:51:53

Vyacheslav
24.10.2018
13:52:31

Alexander
24.10.2018
13:53:15
???

Ilia
24.10.2018
13:53:20

Vyacheslav
24.10.2018
13:53:29
Если не нравится, что я ответом на твоё сообщение ответил, то считай это его дополнением.

Max
24.10.2018
13:53:44

Ilia
24.10.2018
13:54:23
Я не знаю, кто ты.
Ну человеку вряд ли стоит рекомендовать применять CMake, если он даже в обычном проекте не может разобраться...

Alexander
24.10.2018
13:54:25
и он закладывался на какую-то особенность конкретно той версии

Ilia
24.10.2018
13:54:48
Хотя да, смаки там есть, и собирает оно всё ещё более в лёт...

Max
24.10.2018
13:54:51
а. Ну это да.

Alex
24.10.2018
13:55:04
спасибо за наводку

Ilia
24.10.2018
13:56:28
сама сборка проходит успешно, ошибок при сборке не выходило, использовал такую команду "nmake /f Makefile.vc mode=static VC=15 MACHINE=x64 DEBUG=no", после в свойствах проекта указывал дополнительные каталоги библиотек и доп. каталоги включаемых файлов.
пробовал делать по этой инструкции https://www.codepool.biz/build-use-libcurl-vs2015-windows.html
но ошибка которая освещалась в ней не проходила.
ЕСЛИ ты опишешь, что делаешь, и какие получаешь ошибки, ТО я или кто-то другой тебе возможно смогут подсказать что-то. Если будешь изображать партизана, то это вон к Зайцеву Саше, он из Беларуси...
Ну, и орденом наградят, конечно, потом...

A.D.
24.10.2018
13:57:56
душевно тут у вас, по-семейному

Alex
24.10.2018
14:01:02
Да, дружная крепкая семья с отдельными эпизодами домашнего насилия :)

Vyacheslav
24.10.2018
14:03:54

Alexander
24.10.2018
14:04:33
сейчас осталось придумать аналогию с френдзоной

Anatoly
24.10.2018
14:04:57

Google

Vyacheslav
24.10.2018
14:05:14
Членствует, так сказать

Anatoly
24.10.2018
14:10:28

Spoonson
24.10.2018
14:11:40
хорошо, что отношение дружбы в С++ очень сильное

Alexander
24.10.2018
14:11:46

A.D.
24.10.2018
14:14:58

Max
24.10.2018
14:18:32

Marsel
24.10.2018
14:27:35

Alexander
24.10.2018
14:27:48

A.D.
24.10.2018
14:29:06

Alexander
24.10.2018
14:29:31

A.D.
24.10.2018
14:30:36

Alexander
24.10.2018
14:31:12
скоро и в Минске будет свой CoC. Я постараюсь :)

A.D.
24.10.2018
14:31:37
во всем Минске?

Alexander
24.10.2018
14:31:55

A.D.
24.10.2018
14:32:31
я, видимо, не понимаю проблемы, ну, да ладно

Alexander
24.10.2018
14:32:54

Ilia
24.10.2018
14:54:25


FailsBot
24.10.2018
14:56:26
Max

Google

Ilia
24.10.2018
14:56:50

Marsel
24.10.2018
14:58:10

Ilia
24.10.2018
14:59:48


Marsel
24.10.2018
15:34:47
ещё раз огромное спасибо за объяснение тонкостей, и терпение.?

Sergey
24.10.2018
15:35:46
Раз разработка под винду, может проще было бы winhttp использовать — собирать бы ничего не пришлось

yuri
24.10.2018
15:36:45

Yarique
24.10.2018
16:06:32
nullptr передавать в конструктор std::string это не то что хотелось бы ожидать от std::string str{0};
Это же ошибка стандарта?

Alexander
24.10.2018
16:07:29

Yarique
24.10.2018
16:07:57

Alexander
24.10.2018
16:08:18