我正在使用 tiny-dnn C++ 库作为基础创建一个 GDScript 包装器库。
问题是 tiny-dnn 只是标题,我必须将它包含在我的库的大部分 .cpp 文件中(毕竟,我正在创建一个包装器)。这导致编译时间为 1 分钟/文件和大约 300MB 的二进制文件。
作为“解决方案”,我决定将所有代码(20 个 .cpp 文件)放入一个大文件中,并且只包含一次 tiny-dnn。编译时间保持不变,但现在我只有一个文件,二进制大小减少到 ~50MB。根据这个实验,我猜在我包含它的时候,tiny-dnn 会被一遍又一遍地复制。
我可以使用上面的“解决方案”继续我的项目,但我仍然在质疑:有没有办法保持减少的二进制大小和减少的编译时间,仍然有单独的文件并且仍然使用 tiny-dnn?
顺便说一句,我正在使用 Linux 并使用 g++ 以及 SCons 进行编译。