C++ 自动向静态库的用户添加“附加包含目录”
我有一个应用程序项目MyGame,它在同一个解决方案中使用/调用我的静态库MyLib:-C++ 自动向静态库的用户添加“附加包含目录”,c++,visual-studio-2015,C++,Visual Studio 2015,我有一个应用程序项目MyGame,它在同一个解决方案中使用/调用我的静态库MyLib:- MySol\ - MyLib (static library) use "external" - MyGame (win32 app) use "MyLib" 从上图中可以看出,MyLib需要一个不是我编写的外部库。 外部标头位于D:\external\中 工作配置传统 这是一个正确的设置,使一切正常:- MyLib的附加Include目录=D:\external\ MyGame的附加
MySol\
- MyLib (static library) use "external"
- MyGame (win32 app) use "MyLib"
从上图中可以看出,MyLib需要一个不是我编写的外部库。
外部标头位于D:\external\中
工作配置传统
这是一个正确的设置,使一切正常:-
MyLib的附加Include目录=D:\external\
MyGame的附加包含目录=D:\MySol\MyLib\;D:\外部\
请注意,我必须添加额外的Include目录=D:\external\;这两个项目都有
在现实生活中,当我有很多项目的时候,这真是一团糟。
繁琐、难以维护、易出错且肮脏
可以稍微缓解问题,但不能完全治愈
梦幻形态
我希望我能包括以下内容:-
MyGame的附加包含目录=D:\MySol\MyLib\ 正如您现在所发现的,属性表通常是实现这种部分自动化的简单方法。另一种方法是,例如,包管理,但据我所知,它尚未正确建立,并且不像创建单个文件并通过几次单击将其添加到项目中那样简单。
在这种情况下:创建一个属性表,将d:\external添加到AdditionalIncludeDirectories,并将该表导入所有需要它的项目中。此外,如果不使用pragma进行自动链接和/或库不在所有项目都知道的公共位置,则可以将库搜索路径和库本身添加到属性表中的链接器输入,以使编译器和链接器都满意。制作一个属性表,将d:\外部添加到附加IncludeDirectories。在搜索路径中需要该目录的所有项目中导入该属性页?@stijn嗨,如果愿意,您可以将其作为简短答案发布。它起作用了。感谢因为你,我的工作流程变得更加顺畅。除息的