开发标题到底是什么?
What exactly are development headers?
我对"*-devel"包的用法感到困惑,所以我查了一下。根据这篇文章的回答,什么是*-devel包?:
这对我来说似乎是多余的。对我来说,它听起来是这样的:"要使用这个库,你只需要libfoo。但是如果你想使用这个库,你需要头文件,因此libfoo-devel""只使用libfoo库运行应用程序共享库文件(.so。,例如libfoo.so.1.0)(可能还有一些数据文件和一些特定于版本的符号链接)。
当你真正想编译一个使用它的C应用程序时库中需要的头文件(.h,例如foo.h描述该应用程序的接口以及无版本到共享库的符号链接()。例如libfoo。所以- - - - - ->libfoo.so.1.0)。这些通常捆绑在*-devel包中。"
关于头文件的重要性,我找不到答案。
使用libfoo
构建应用程序后,显然不再需要安装libfoo
的任何头文件。应用程序已经编译完成。您不需要头文件来运行已经编译的东西。您唯一需要的是libfoo
本身,因为您的应用程序链接到它。
这就是你的libfoo
:只是库本身。可能是一个偶尔的配置文件,或者其他东西,在运行时需要。
另一方面,如果您需要构建和编译使用libfoo
的源代码,则需要头文件和其他支持文件。构建使用libfoo
的源代码所需要的一切。
这些位是进入libfoo-devel
包的位。这是构建使用libfoo
的源代码所需要的东西。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- C++避免重复声明的语法是什么
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- C++从另一个类访问公共静态向量的正确方法是什么
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- C++中名称篡改的目的是什么
- 在 c++ 中拥有一组结构的正确方法是什么?
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 是什么阻止DOMTimerCoordinator::NextID进入无休止的循环
- 派生类销毁的最佳实践是什么
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 通过JNI传递数据数组的最快方法是什么
- "using namespace std;"在C++的作用是什么?
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 文件系统:复制功能的速度秘诀是什么
- 标题文件中大规模转发声明类别的风险是什么?
- 库不是仅标题的原因是什么?
- 这个标题的命名约定指的是什么
- 开发标题到底是什么?