将使用我的特定静态库链接的每个项目都设置为某个外部库

时间:2017-03-28 10:25:22

标签: c++ windows visual-studio-2015 linker

这是关于管理Visual Studio项目的工作流程/易用性。

项目结构

我有一个包含2个项目的解决方案。

结构1

  • 项目B(静态库):使用外部库中的函数(例如Bullet3d

    • 包含Bullet标题
    • 链接到Bullet' s .lib(粗略地说)*
  • 项目C(应用程序):使用B中的函数/类,绝不直接触摸Bullet
    • 包含B标题
    • 指向B' s .obj
    • 的链接

[*]据我所知,a static library doesn't concern about what it links(+ another similar link) 上面的树只描述了我想要的东西。

在我测试时,上述结构会导致unresolved external symbol error

结构2

一切正常。结构如下: -

  • 项目B

    • 包含Bullet标题
  • 项目C

    • 包含B标题
    • 指向B' s .obj< ------ X
    • 的链接
    • 链接至Bullet' s .lib< ------ Y

X 可以在VS2015中轻松完成: -

  • 右键单击解决方案资源管理器"中的C 引用一词。
  • 然后,添加B

Y 可以通过设置C 项目属性或(更高级)操作属性表来完成> C使用的。

问题

虽然结构2 有效,但对我来说不方便且不直观  每当项目(例如C)想 导入 B时,我也必须 Y ,<登记/> 即手动将C链接到&#34; Bullet的库&#34; (.lib)。

是否有任何技术方法/解决方法(工作流程的语法糖)启用结构1

更具体地说,我想要一种方法 标记 B为&#34;任何引用我的人都会自动链接到{{1} {&#39; s Bullet&#34;。

参考

有许多类似的问题,但以下问题是关于 X (我的解决方案中的项目)但不是 Y (自动链接到不是的外部项目我解决方案的一部分)。

注意: ar-command无效,因为 ar 是特定于Linux的。

0 个答案:

没有答案