【发布时间】:2026-02-03 09:40:01
【问题描述】:
我有一个应用程序项目 (MyGame) 在同一解决方案中使用/调用我的静态库 (MyLib):-
MySol\
- MyLib (static library) use "external"
- MyGame (win32 app) use "MyLib"
从上图中,MyLib 需要一个非我编写的外部库。
外部标头位于D:\external\。
工作配置(传统)
这是使一切正常的正确设置:-
MyLib的其他包含目录 =D:\external\;MyGame的其他包含目录 =D:\MySol\MyLib\;D:\external\;
请注意,我必须将 Additional Include Directories = D:\external\; 添加到两个项目中。
当我有很多项目时,这在现实生活中是一团糟。
(繁琐、难以维护、容易出错和肮脏)
Property sheet可以稍微缓解问题,但不能完全治愈。
梦想配置
我希望我能尽快包含:-
-
MyGame的 其他包含目录 =D:\MySol\MyLib\;
无法编译,因为项目MyGame 无法访问\external 中的标头。 (废话,为什么不自动化?)
将MyLib 添加到MyGame 的Reference(解决方案资源管理器)没有帮助。
问题
如何让静态库项目 (MyGame) 的用户自动吸收 其他包含目录 (\external)静态库项目 (MyLib)?
相关问题
- It is possible to do such thing about linker,但我找不到关于其他包含目录的任何设置。
- This 是一个相关问题,但它主要问“为什么”,所有解决方案都建议我必须手动完成。 (真的吗?)
【问题讨论】:
-
制作一个属性表,将 d:\external 添加到 AdditionalIncludeDirectories。在搜索路径中需要该目录的所有项目中导入该属性表?
-
@stijn 您好,如果您愿意,可以将其作为简短答案发布。有用。谢谢。因为有你,我的工作流程更加顺畅。 XD