【问题标题】:Add obj file to linker input with cmake使用 cmake 将 obj 文件添加到链接器输入
【发布时间】:2014-07-12 15:38:37
【问题描述】:

我有一个需要链接到包含一些 .lib 文件和 .obj 文件的库的 cmake 项目。我找到了一些关于如何链接到 .obj 文件的线索,但大多数解决方案似乎都非常复杂。

我真正想做的就是告诉 cmake 将 .obj 文件添加到我的 Visual Studio 项目中的链接器输入中。

我尝试像使用普通 lib 文件一样链接它:

target_link_libraries(Foo C:/a.lib C:/b.lib C:/c.obj)

但是,当我检查生成的 VS 项目中的链接器输入时,cmake 已删除完整路径并将 .lib 附加到 obj 文件中:

C:/a.lib
C:/b.lib
c.obj.lib

获得此结果的最简单方法是什么:

C:/a.lib
C:/b.lib
C:/c.obj

请注意,这只需要在 Windows 和 Visual Studio 中使用。

【问题讨论】:

标签: c++ visual-studio-2010 visual-c++ linker cmake


【解决方案1】:

当我发现您的问题时,我也面临同样的问题。通过以下行解决:

SET_TARGET_PROPERTIES(my_project PROPERTIES LINK_FLAGS "/link setargv.obj")

链接被附加到项目链接器设置中命令行部分的附加选项

【讨论】:

  • 出于某种原因,我不得不删除“/link”位。所以我有以下内容(似乎适用于 Visual Studio 14 2015 Winx64")。这可以在 Windows 中启用 shell globbing。set_target_properties(codexcompressionutil PROPERTIES LINK_FLAGS "setargv.obj")
猜你喜欢
  • 2020-09-25
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多