Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用C++;组织(管理)第三方库?_C++ - Fatal编程技术网

C++ 如何使用C++;组织(管理)第三方库?

C++ 如何使用C++;组织(管理)第三方库?,c++,C++,(为了更具体,我刚刚编辑了这个问题) 我知道这个问题可能过于笼统,无法回答,但我就是找不到关于这个的好教程,所以尝试在这里寻求帮助 我是C++新手,以前我的主要编程语言是java和python。C++管理第三方库的方式让我感到困惑……而Python可以轻松地用PIP安装东西,java可以导入jar,C++是如何组织这些东西的?p> 我想把我的问题分成几个部分: 以下是我的一些理解和问题: 只要编译器或IDE知道库的路径,那么一切都很好。因此,在说安装时,我们只需将库的路径添加到一些系统路径中。对

(为了更具体,我刚刚编辑了这个问题)

我知道这个问题可能过于笼统,无法回答,但我就是找不到关于这个的好教程,所以尝试在这里寻求帮助

我是C++新手,以前我的主要编程语言是java和python。C++管理第三方库的方式让我感到困惑……而Python可以轻松地用PIP安装东西,java可以导入jar,C++是如何组织这些东西的?p> 我想把我的问题分成几个部分: 以下是我的一些理解和问题:

  • 只要编译器或IDE知道库的路径,那么一切都很好。因此,在说安装时,我们只需将库的路径添加到一些系统路径中。对于IDE,我们只需配置设置,以便它能够解析给定路径中的库。如果有什么不对劲,请纠正我

  • 有些C++中的所有代码都是源代码,有些包含了“<代码>”,所以或 > DLL<代码>,那是什么?有什么区别?我看到一些lib说它可以简单地用于包含一些头,但有些需要静态链接,这是什么意思

  • 管理所有这些库的一般好方法是什么?(例如,在Python中,<代码> PIP < /C> >将只安装到一些全局范围,或者我们使用VITRARE-Env来管理。然后在C++中类似于PIP的任何东西?

  • 更具体地说,我使用的是CLion,CLion使用的是CMake,所以也许我要做的就是正确地配置CMakeList.text,然后IDE将正确地解析所有库并编译

  • 再次抱歉这样的一般和不知多少的问题,但我完全失去了作为一个Neb的C++,这是比Python和java我以前使用……< /P>要复杂得多。 <> P>任何好的教程都会有很大帮助,谢谢!

    C++:P> C++。

    这样说,对于大多数编译器来说,构建C++应用程序是在多个步骤中完成的:

  • 编辑
  • 编译为对象文件
  • 链接到可执行文件
  • <> > C++编译器在技术上只涉及到第2步(实际上只是步骤2的一部分)。 很久以前,大多数编译器和链接器都允许您将头文件和库文件放在任何位置,然后在命令行上将标志传递给编译器和链接器,告诉编译器和链接器在哪里查找文件

    对于头文件,(通用)命令行选项
    -I
    (大写字母I)用于添加要搜索头文件的路径。对于库,选项
    -L
    同样会添加链接器要搜索的库路径。当然,编译器和链接器中内置了默认路径,
    -I
    -L
    选项会添加这些默认路径

    然后,要链接到实际库,链接器选项
    -l
    (小写l)是常用的选项。每个
    -l
    选项都列出了需要链接到可执行文件中的单个库


    关于CMake和CLion,CLion IDE根本没有链接任何东西,而是使用CMake创建一组包含用于构建目标的信息的集合


    P.P.最后,对于PIP或其他语言包管理器,有一些C和C++选项,但是通常您使用标准的方法在系统上安装程序和库。 与在Windows上一样,您可以找到安装程序,然后修改项目设置(使用CMake
    CMakeLists.txt
    、raw
    Makefile
    或IDE设置)以添加所需的目录

    对于Linux系统,您使用标准的软件包管理器(如基于Debian的系统上的
    apt
    ,或基于Fedora的系统上的
    yum
    ,等等)查找和安装库。然后库和它们的头文件将安装在默认位置。仍然需要建立构建环境来真正链接到库。

    < P> C++不。C++是一种语言,不是特定的编译器或实现。

    这样说,对于大多数编译器来说,构建C++应用程序是在多个步骤中完成的:

  • 编辑
  • 编译为对象文件
  • 链接到可执行文件
  • <> > C++编译器在技术上只涉及到第2步(实际上只是步骤2的一部分)。 很久以前,大多数编译器和链接器都允许您将头文件和库文件放在任何位置,然后在命令行上将标志传递给编译器和链接器,告诉编译器和链接器在哪里查找文件

    对于头文件,(通用)命令行选项
    -I
    (大写字母I)用于添加要搜索头文件的路径。对于库,选项
    -L
    同样会添加链接器要搜索的库路径。当然,编译器和链接器中内置了默认路径,
    -I
    -L
    选项会添加这些默认路径

    然后,要链接到实际库,链接器选项
    -l
    (小写l)是常用的选项。每个
    -l
    选项都列出了需要链接到可执行文件中的单个库


    关于CMake和CLion,CLion IDE根本没有链接任何东西,而是使用CMake创建一组包含用于构建目标的信息的集合


    P.P.最后,对于PIP或其他语言包管理器,有一些C和C++选项,但是通常您使用标准的方法在系统上安装程序和库。 与在Windows上一样,您可以找到安装程序,然后修改项目设置(使用CMake
    CMakeLists.txt
    、raw
    Makefile
    或IDE设置)以添加所需的目录

    对于Linux系统,您可以使用标准软件包管理器(如基于Debian的系统上的
    apt
    ,或基于Fedora的系统上的
    yum
    等)查找和安装