在使用 g++ 链接到其他库时,我遇到了一些严重的问题,它经常让我沮丧,甚至在我开始之前就阻止了我。
例如:我只是在使用 boost.asio,尝试教程。我在文档中发现我必须链接到 boost_system 和正则表达式,但由于某种原因,我还必须添加 pthread 才能使其工作......我已经使用 'apt-get install' 安装了 boost,我认为我必须链接到被提升。明显错了……
看来我真的无法理解如何在 linux 上开发。如何知道何时需要添加库?在我给出的示例中,boost 依赖于 pthread,所以我必须链接它。为什么我不必链接到提升所依赖的任何其他东西?或者假设 pthread 依赖于某些东西,为什么我不必链接它(例如,你为什么不必链接到标准 C 库)?你怎么知道g++是怎么配置的?你怎么能改变它?
我想我的主要问题是:在 linux 上配置构建是否有任何逻辑?(有用的参考也总是受欢迎的)
最后一点令人沮丧:在我看来,编程总是比实际开始更有趣,更容易......