我应该在C ++中将整个库添加到我的项目中吗

问题描述

我对C ++很陌生。目前,我正在从事涉及项目的ONNX,但我有一个问题,如果我必须使我的应用程序具有可移植性(假设将使用它的人未在其计算机上安装onnx),我是否必须在其中安装整个库我的 项目文件夹还是应该怎么做?

感谢帮助

解决方法

因此,一种选择是静态链接您的所有库,因此使用该应用程序的人无需在其计算机上安装特定的库

查看此问题:

Compiling a static executable with CMake

我建议在可用的这些库中设置CI机器(或者更好的做法是使用可重复的安装脚本/容器配置)(这代表您需要进行一些设置),然后给出将这台计算机上的静态链接的二进制文件打包到您的客户端(因此,无需为他们烦恼)。

您将在线阅读有关静态链接的二进制文件的潜在兼容性问题以及有关exe大小的投诉(有些人认为-static是邪恶的),但是老实说,这种方法对客户端配置的影响最小。