如何为程序创建静态库
How can I create a static library for my program?
我已经下载了OpenSSL二进制文件。我想在Ubuntu中为我的C++程序创建一个静态库。这意味着它们在同一目录中。
http://www.openssl.org/source/
-static
参数添加到gcc
。我希望您希望在没有任何动态加载库的情况下静态二进制文件。在其他情况下,将libssl.a
的完整路径添加为构建系统中链接的对象文件。您尚未指定如何构建应用程序。
手动操作时,您会使用以下内容:
gcc -o application yourcode.c yourcode2.c /usr/lib/libssl.a
或更好的
gcc -static -o application yourcode.c yourcode2.c -lssl
在大多数情况下,为Linux下载二进制文件是个坏主意。如果您想要静态二进制,这应该会有所帮助。如果您需要具有特殊功能的库的自定义构建,则需要自己从源代码下载并构建该库。
无论如何,在gcc中共享库函数的静态链接中,可以回答与您类似的问题您还可以检查Linux静态链接是否已失效?发现可能存在太多问题,甚至无法考虑静态链接。
如果您需要更多关于Linux下链接的信息,请查看http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
相关文章:
- 将对象创建为全局/静态对象会崩溃,而本地对象不会崩溃
- 如何在不使用静态矩形方法的情况下创建 IDOMPathGeometryPtr?
- 如何使用类型级函数动态创建静态类型?
- 返回从字符串文本创建的静态string_view是否安全?
- QBS 为静态链路 MSVC 创建静态库
- 如何为要在 C# 中使用的静态库创建 C++ 或 C++/CLI 包装器
- 如何使用 GCC 编译器优化创建静态库?
- 如何使用指向动态数组的静态指针创建类?
- 为静态类创建指向对象的指针是否合法?
- 为动态创建的数组使用静态关键字有什么意义吗?
- 创建自己的owner_ptr类;在传递堆栈或静态分配的地址时如何避免UB?
- 我正在尝试在我的类中创建一个静态成员,但编译器警告我它是未定义的
- 如何使用 c++ 源代码和静态库创建 iOS 框架
- 创建静态哨兵节点的正确方法是什么
- 如何从静态c和c++库创建共享c库
- 创建类型列表并访问每种类型的静态成员?
- 为什么调用 cout.operator<<(const char*) 打印地址而不是字符串? 如何创建一个函数本地静态"HashSet<char>"并初始化它一次?
- 为什么在静态创建 OBJ 时调用私有析构函数
- 从静态创建方法中的基类调用非静态方法
- 内联函数返回静态创建的对象