哪里把“插件”在Linux中

我正在开发/黑客的图像分析/转换工具。 其中的filter将在运行时使用dlopen&co加载。

我的问题是* nix工具在安装时通常在哪里放置插件(* .so文件)?

bin/program lib/program/plugins/thisandthat.so 

也许?

其次,我如何使用它,并在开发过程中将其安装在何处? (这可能是棘手的部分)

我想尽可能避免使用shell脚本。

感谢Ronny

布局似乎是明智的。 例如,您可以查看当前目录,在开发期间查找环境变量或命令行切换。 这取决于你的开发环境和工作流程的细节。

通常/ usr / lib / programmname应该是个好地方

在开发过程中,我会创建一个命令行参数来指定插件搜索路径,并将插件保留在build-dir中。

考虑:

 /usr/lib/program/*.so 

一个很好的选择指南是Filesystem Hierarchy Standard 。 大多数Linux分发使用这个标准。

这是一个非常简短的总结。

将应用程序二进制文件放在:/ usr / bin / progname,/ usr / local / bin / progname或/ opt / progname

将插件或库文件放在:/ usr / lib / progname,/ usr / local / lib / progname或/ opt / progname / lib

将应用程序的主机配置放置在/ etc / progname或/ etc / opt / progname中

将用户配置放置在$ HOME / .progname中

将应用程序手册页放在:/ usr / shar / man / man1 /

/ var有单独的层次结构。 作为一个例子使用/ var / log / progname进行日志记录。

在回应咖啡的评论。 我发现在编译时选择目标目录非常有用。 使用$ PREFIX也可以很容易地将发展版本和发行版本分开。 大多数使用/ usr / progname,/ usr / lib / progname和/ etc / progname

不要忘记:

 $HOME/.program/