【发布时间】:2012-03-03 10:40:31
【问题描述】:
我正在帮助开发一个 c++ 应用程序。该应用程序非常大,分布在不同的子目录之间。它使用脚本为每个项目目录自动生成 qt .pro 文件,然后使用 qmake 生成 make 文件。目前这些库正在按字母顺序编译..当一个试图链接的库尚未构建时,这显然会导致链接错误..是否有某种 g++ 标志我可以设置,这样如果一个库它就不会出错尝试链接尚未建立?还是通过 qt .pro 文件使其首先构建依赖项的方法?
注意: 该脚本在 ubuntu 10.10 上运行良好,因为构建共享库的语句不需要我使用 -l(libraryname) 链接到我的其他库,但 ubuntu 11.10 这样做了,所以它在 11.10 上编译时给了我未定义的参考错误。
【问题讨论】:
-
听起来你需要一个合适的 Makefile。
-
你确定它不只是链接到一些以前在 Ubuntu 中构建的库吗?我看不出它是如何成功链接到不存在的库文件的。
-
不应该。它在我们的代码生成库的位置给出错误的库。干净的重建在 10.10 上工作正常。 11.10 给了我未定义的参考错误。
-
是否有某种顺序可以全部构建,或者是否存在循环依赖关系?
-
有些库是循环依赖的...