Conan 2.0 | C++ Package Manager - A detailed introduction

  Рет қаралды 17,981

Lötwig Fusel

Lötwig Fusel

Жыл бұрын

github.com/Ohjurot/ConanPrema...
conan.io/
premake.github.io/

Пікірлер: 22
@wolpumba4099
@wolpumba4099 10 ай бұрын
Here's a summarized bullet list of the KZfaq video: *Setting up Conan and C++ Project* - Introduces Conan, a package manager for C++. - Demonstrates how to install Conan and set up a new C++ project. - Explains how to add dependencies like `fmt` and `spdlog` using Conan. *Conan Commands* - `conan install . --build missing` to install and build missing dependencies. - `conan install . --build missing -o folder=dependencies` to specify output folder. *Build System Integration* - Shows how to integrate Conan with PreMake5. - Uses `conan install` with generators to create PreMake5 files. *Debug and Release Builds* - Discusses the issue of using release libraries in a debug build. - Shows how to specify build types in Conan to get both debug and release builds. *Automating with Python* - Creates a Python script to automate Conan and PreMake5 commands. *Adding New Libraries* - Demonstrates how to add a new library (lz4) to the project. - Shows how to use the lz4 library in the code. *Final Thoughts* - Advocates for the Conan and PreMake5 toolchain for C++ development. - Claims it's faster and more efficient than other methods like CMake. The video covers a lot of ground, from setting up a C++ project with Conan and PreMake5 to adding new libraries and automating the process. *Positive Points 1. *Efficiency:* The Conan and PreMake5 toolchain allows for quick setup and integration of C++ projects, saving development time. 2. *Automation:* Demonstrates how to automate the entire process using Python, making it easier to manage complex projects. 3. *Flexibility:* Allows for both debug and release builds, providing more control over the development process. 4. *Library Management:* Simplifies the process of adding and managing libraries, making it easier to extend functionality. 5. *Native Visual Studio Support:* Offers a native Visual Studio solution, which is beneficial for developers familiar with the IDE. 6. *Clear Instructions:* The video provides step-by-step instructions, making it accessible even for those new to Conan or PreMake5. *Negative Points 1. *Complexity:* The toolchain involves multiple components (Conan, PreMake5, Python), which could be overwhelming for beginners. 2. *Dependency on Python:* Requires Python for automation, which might not be ideal for all development environments. 3. *Debug/Release Build Issue:* The video discusses a potential issue with using release libraries in a debug build, requiring additional steps to resolve. 4. *Warnings:* Some compiler or linker warnings are not fully addressed, which might concern some developers seeking a clean build. 5. *Limited Error Handling:* The video doesn't cover what to do in case of errors or issues, leaving some gaps in troubleshooting.
@LötwigFusel
@LötwigFusel 10 ай бұрын
Thank you for your efforts to summarize and Rate the video. Really helps!
@PirateMonkey010
@PirateMonkey010 10 күн бұрын
you're the GOAT
@beaupeck4052
@beaupeck4052 Жыл бұрын
Killer tutorial - easy to follow and breaks it down into beautifully simple ways to consume...nicely done!
@johnstanfield7406
@johnstanfield7406 Жыл бұрын
Thanks for updating!
@nguyencongson198
@nguyencongson198 Ай бұрын
thank you!
@BentonDeOz
@BentonDeOz Жыл бұрын
Hi! On 33:57 I am following the steps to get the "PremakeDeps" files, but whenever I run the line in the console it doesn't generate me any new file in my dependecies folder :( I typed the generators line as you did in the video and saved the file.
@LötwigFusel
@LötwigFusel Жыл бұрын
What do you get when running „conan --version“?
@BentonDeOz
@BentonDeOz Жыл бұрын
@@LötwigFusel Conan version 2.0.4
@God0fTime
@God0fTime Жыл бұрын
what would be the settings for just using cmake and not premake5 or is using premake5 worth it
@LötwigFusel
@LötwigFusel Жыл бұрын
You can use „CMakeDeps“ instead of „PremakeDeps“. However I would recommend premake. It’s more a personal preference than a fact. However premake allows you full scripting in lua. This allows you to dynamically create your projects (detect a new project just by the existence of a folder, automatically select all files, …). And premake works better with visual studio (in the normal non cmake mode) because you can place the project in the source directory. Then it allows you to manage the files and folders in your project without re running premake. Since cmake adds all build files in its own directory it’s not easy to use the visual studio project for development.
@urshofmann4620
@urshofmann4620 8 ай бұрын
you quite often say that conan downloads and compiles the libraries we need. is this really true? Isn't one of the biggest advantages that it basically use prebuilt binaries? If i look in the filesystems generated in my .conan2 user folder, i do not see the source code but just the compiled libraries as well.
@LötwigFusel
@LötwigFusel 8 ай бұрын
Conan does it on demand. If a prebuilt package is available, it just downloads and copies the required files. However, if you are working with custom environments (compilers, special options, or configurations), it compiles them on the fly. For VS2022, they did not have prebuilt packages at that time. The "build missing" option is something that I would always recommend. Then it will prefer the online binary files, and if no prebuild package is available, it will build it.
@gerardoanzora9194
@gerardoanzora9194 27 күн бұрын
Dude, how can i create a profile to compile a exe with Mingw? (im on Linux)
@nikolaradovanovic4883
@nikolaradovanovic4883 9 ай бұрын
Good info, but you are talking WAY too fast.
@unperrier5998
@unperrier5998 8 ай бұрын
Wow speak of an overengineered tool. Write Pyhon, batch files and lua in order to install and use 3rd party library code. Glag they did not use this approach for pip, apt or dnf.
@LötwigFusel
@LötwigFusel 8 ай бұрын
Sure. But show me a better solution that works on all platforms and is 100% customizable and I will be happy to showcase and use it.
@stefanalecu9532
@stefanalecu9532 5 ай бұрын
As far as the video author is concerned, he didn't write a single line of Batch so you're disingenuous. Also, Lua is part of Premake and as such you'd be using whatever DSL your build system uses (CMake, Meson, SCons or whatever). You didn't understand the point of the video at all Also, are you really comparing a C++ package manager that's exclusively a package manager (so you still need a build system) with a package manager for an interpreted language (Python) and two full blown Linux general package managers that do a dozen other things in the background? Have the balls to compare Conan with vcpkg or NuGet or cargo or something similar and then come here and tell us your experience you buffoon
@unperrier5998
@unperrier5998 5 ай бұрын
@@stefanalecu9532/videos for your information, pip can build extensions written in C or even something exotic like cython. And I'm not saying the guy in the video is the author, I'm just saying that the whole shebang is too complex in comparison to other package managers like pip..
Introduction to Conan 2 - The Best C++ Package Manager?
26:33
Coding with Mat
Рет қаралды 8 М.
DO YOU HAVE FRIENDS LIKE THIS?
00:17
dednahype
Рет қаралды 39 МЛН
МАМА И STANDOFF 2 😳 !FAKE GUN! #shorts
00:34
INNA SERG
Рет қаралды 4,2 МЛН
Александр Воронков - Почему vcpkg не Conan
57:20
Modern C++ package management with Conan 2
1:22:08
NWCPP - Northwest C++ Users Group
Рет қаралды 295
C++ Package Manager - A detailed introduction to Conan
46:57
Lötwig Fusel
Рет қаралды 15 М.
ты C++ РАЗРАБОТЧИК?) ага
12:04
Winderton
Рет қаралды 228 М.
Don't throw exceptions in C#. Do this instead
18:13
Nick Chapsas
Рет қаралды 251 М.
Best mobile of all time💥🗿 [Troll Face]
0:24
Special SHNTY 2.0
Рет қаралды 1,6 МЛН
Урна с айфонами!
0:30
По ту сторону Гугла
Рет қаралды 8 МЛН
Lid hologram 3d
0:32
LEDG
Рет қаралды 10 МЛН