【问题标题】:Library order in Eclipse CDTEclipse CDT 中的库顺序
【发布时间】:2015-02-09 16:21:19
【问题描述】:

我在使用 Eclipse (Indigo) 时遇到了关于包含我的静态库的顺序的问题。我在 CDT 中使用托管构建器,并使用 gcc 作为编译器。我的工作区有许多静态库项目和几个引用所述库的可执行项目。我正在使用 Microsoft 的 Team Explorer Everewhere 作为我的源代码控制。

gcc 对包含库的顺序非常特别,所以我确保将它们按正确的顺序放置在我的可执行项目中(通过转到 Project-->Properties-->C/C++ Build-- >设置-->GCC C++ 链接器-->库)。但是,如果我在引用的静态库上修改项目设置(无论哪个设置都无关紧要),所有正在使用的可执行项目中的库顺序都会重新排序!如果它只是在执行此操作后起作用,那么这些黑魔法的东西不一定会打扰我,但 CDT 将库重新排序完全错误。

我怀疑这与我的可执行项目“引用”库有关,但这是需要的,因此当我更改库时,可执行项目会检测到更改并根据需要重新链接。我已经关闭了发现选项、索引和其他一些选项,以查看它们是否进行了任何更改。我也搜索过解决方案,但无济于事。我即将关闭托管功能并转到 makefile,但这对我来说是最后的手段:)

【问题讨论】:

    标签: static-libraries eclipse-cdt


    【解决方案1】:

    据我了解,当前工作空间中所有库的排序均来源于引用项目的顺序。要更改此设置,请转到项目属性页面、c/c++ 常规路径和符号,然后使用引用选项卡。更改此项将更改 cdt 在生成要链接的库的顺序时使用的顺序。

    【讨论】:

    • 与此同时,我注意到更改项目的构建配置(从 Debug 到 Release fe)将随机更改此顺序。由于我需要构建多个配置,所以我硬着头皮写了自己的 makefile。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2010-09-28
    • 2013-04-13
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多