我手头有一个项目,其中一些库被编译为可加载模块,即与 libtool 的-module
标志链接。这些库本身或它们的依赖项应该包含所有必要的函数,也就是说,当与一个简单的 main() 函数链接时,它们应该产生一个完整的程序,该函数只是为我的程序调用模块接口的所有函数。
由于我之前遇到过不完整且因此无法使用的模块的问题,因此我有一些简单的检查程序,它们只包含一个 main() 并与模块链接。当一个函数丢失时,链接器会发出适当的警告,所以一切都很好。但是,libtool 给了我一个警告:
*** Warning: Linking the executable checkplugin_locprec against the loadable module
*** liblocprec.so is not portable!
我了解此警告的目的和意图(不要将程序与使用 构建的库链接-module
),但不了解其严重性,这是我的问题:
这个警告有多严重?我很幸运,这适用于我正在编译的平台(i386/x86_64 Linux 和 MinGW),还是这个警告只与一些我可以安全忽略的晦涩的落后平台相关?