【发布时间】:2017-11-18 04:22:36
【问题描述】:
我在 RHEL 6.9 上使用 Eclipse Helios(版本 3.6.1,构建 ID:M20100909-0800),并在我指定为空静态库的工作区中创建了几个项目。在尝试编译每个项目后,我收到一条错误消息,指出它可以找到 main。
我尝试了Changing Project Type from “Executable” to “Static Library” in Eclipse CDT 的建议,但我的构建工件工件类型仅包括可执行文件和共享库。不幸的是,我不能在我的一些库上使用共享库,因为它们最终会加载更多共享库(取决于安装位置)。
我的问题是我没有将静态库作为工件类型的选项。这可能是 Eclipse 的某种配置问题吗?不幸的是,我没有能力升级(很容易 - 如果有的话),但如果这确实是问题,我也许可以让某人修复安装。
【问题讨论】:
-
如果您尝试创建一个新项目,您是否看到将其创建为静态库的选项?对我来说它有效,我可以在 Eclipse Mars (RHEL 7) 中从可执行文件切换到静态库。
-
请注意,即使您可能无法升级系统范围的 Eclipse,您也可以下载更新的 Eclipse 版本并解压到您可以访问的位置(例如 $HOME)以“安装”它私下只为您的用户。然后你就可以完全控制它了。
-
axalis - 在大多数情况下这可能是正确的,但我处于一个严格控制的系统中,并且搞乱它可能意味着纪律处分,包括终止,所以我宁愿不这样做。
-
当我最初创建项目时,我指定它们应该是一个静态库,但是当我构建它们时,它们在链接过程中失败,因为它试图构建一个可执行文件。我尝试在 Properties->C++ Build->Settings->Build Artifacts 下设置 Artifact Type,但唯一的选项是可执行和共享库。
标签: c++ eclipse static-libraries