C ++ Third Party Development Flow

I am a Python developer with some experience working in another language like Ruby. In both languages, the dependency is automatically managed by the package manager, for example, pipor gem. Anyone can establish such a dependency by calling pip install -r requirements.txt, and install the necessary dependency through the Python Package Index . Despite the fact that it is possible to independently create a dependency on the source and install it in the project, this is not a recommended process, and I did not.

I noticed that C ++, unfortunately, has a different nature in how dependency is defined for for some reason. (for example, different taste of the compiler, parameters of the compiler, platform, etc.))

I am currently learning C ++ using VS2015. and again and again I came across these dependencies in the library. With VS2015, there is a dependency package manager such as python and NuGet . However, not all libraries are available in NuGet; in fact, there are many that are designed independently of its IDE.

First I try to use Boost. There is guidance on creating a project, but I'm not sure what I need. Do I need to build from the source? or maybe I need a library that was easily accessible?

Same reason for another library I found. (e.g. QT, yaml-cpp, googletest, etc.). They only have a document to build, and not as installation as dependency.

, , . , , .

  • ++ ( )?
  • , ? , , , ?
  • (git), ? , ?

, , , . ++?

++ environement?


, , CMake , . ?


:

  1. .lib .dll . ? ? , . , .
+4
2

. , ...

, :

++ , Python, .

pip install -r requirements.txt . Linux (Ubuntu) : sudo apt-get install libboost-all-dev . , , , , (apt-get), . , pip Microsoft. . . NuGet - Microsoft make make up .

, :

  • . , pugixml, . , boost, ( ). , (boost ), . , , . , VS-:

    • ( , )
    • :

      Project > "projectname" > > C/++ > > Include

    • :

      Project > "Projectname" > > Linker > Input > Additional Dependencies.

  • . . , (boost) .

  • , . : Chocolatey NuGet . Vagrant , .

    source-control-management. - !. . , -.

: . :

  • (*. DLL ), . (). , , , SO.

Qt:, Qt, , Qt-Creator. . Visual Studio . IDE Visual Studio.

CMake: , CMake , Makefile. CMake Makefile. " " - , .

2015-10-24:

+3

++ ( )?

... , ++.

, ? , , , ?

++ : + . , .

, ? , ?

. , .

, , , . ++?

- C. , ++ - python/java/#. ++ , . , . , "" .

, ++ 17 . Microsoft ++ MSVC 2015.

++ environement?

, C/++. , .

-, : C/++ : ( .h) ( .cpp)..CPP ..H .

0

Source: https://habr.com/ru/post/1610175/


All Articles