【发布时间】:2018-02-01 20:41:39
【问题描述】:
我想分享我用 C/C++(Linux 环境 gcc/g++ 编译器)编写的项目作为共享库/静态库,而不实际共享源代码。这样其他用户就可以在不知道我的源代码的情况下使用我的项目。谁能告诉我如何以 .so/.a 格式共享它?
假设,我的项目看起来像:
main.cpp, source1.cpp, source2.cpp, source3.cpp, head1.h, 制作文件
如何通过隐藏文件 source1.cpp、source2.cpp 和 source3.cpp 的源代码来共享此项目以及使它们成为共享库/静态库。 main.cpp 文件包含 main() 函数。告诉我详细的过程。
PS:我是共享库/静态库的新手。
【问题讨论】:
-
我最少需要分享哪些内容(例如头文件等)?能举个简单的例子吗?
-
为了让它有任何用途,你需要有公开的头文件来公开你的库提供的基本功能。所有其他细节都可以隐藏在预编译的二进制文件中
-
main.cpp有main功能吗?如果是这样,它就不能成为您图书馆的一部分。 -
是的,它包含主要功能。
-
如果你有一个
main那么它不是一个库,它是一个程序。
标签: c++ c unix shared-libraries static-libraries