【问题标题】:is it possible to link an exe file as a lib file to another project?是否可以将 exe 文件作为 lib 文件链接到另一个项目?
【发布时间】:2018-06-28 11:30:22
【问题描述】:

问题在标题中。

我编写了一个 .exe 项目,我想在另一个项目中使用这个项目的一个功能。

也许这是一个愚蠢的问题,但如果可能的话,这将限制我的解决方案中的项目数量......

我做了一个简单的尝试,我得到一个 LNK1107 错误。

我会说不可能,但在网上很难找到明确的答案。

【问题讨论】:

  • 不,这不可能。你的问题看起来像XY Problem。您实际上试图解决什么问题?你在使用 Visual Studio 吗?如果是,请添加相应的标签
  • @Jabberwocky 是的,我正在使用 Visual Studio。我想从“理论”的角度知道答案。我问自己这个问题是因为我希望 exe 也可以用作将要使用它的人的库...
  • @Richard 我想避免这种方式,如果可能的话...
  • @SylvainB。然而,理查德的建议是通常如何完成。
  • @LightnessRacesinOrbit 因为我认为这个问题太宽泛了,我的评论需要一个博客大小的帖子才能完整回答。我只是希望指出 OP 的正确方向。

标签: c++ visual-studio linker exe lib


【解决方案1】:

不,这是不可能的。

可执行文件是一个独立的实体。它是将目标文件链接在一起以生成自包含的、良好的可执行文件的结果。

将两个可执行文件链接在一起充其量只会导致main 的重复定义(实际上它有点复杂,但是……)。

您要做的是在目标文件成为可执行文件之前共享它们,这通常通过将共享/公共代码移动到“库”中来完成,然后将库链接到两个项目中.

或者,您可以将所有可执行文件分开,但在版本控制级别共享代码,例如使用 SVN 外部。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多