aes*_*eis 3 ide propertysheet visual-studio visual-c++ visual-studio-2012
我遇到了Visual Studio 2012的问题,我希望有一个解决方案.我在我的解决方案中有2个项目:1个项目是".exe"项目,另一个是".lib"项目.我已经在lib项目中添加了lib项目作为参考,并且我确保它被安排首先编译.lib项目有一堆额外的include目录和一堆额外的依赖项和链接库.lib项目编译得很好.但是,exe应用程序不会继承任何其他包含目录或其他库目录或依赖项.我能够通过将配置复制到exe项目来解决这个问题,但这意味着如果我更新了lib依赖项,那么我需要在每个使用该库的项目中更新它(我玩这个库用于多个项目).这似乎应该有一个解决方案,但我似乎无法找到它.有没有人想出让项目继承引用项目的配置的方法,或者没有办法解决这个问题?谢谢.
你没错,项目不会继承他们引用的其他项目的属性.要解决您的问题,您需要的是一个属性表.属性表是与项目分开的属性集(就像您在"项目属性"中设置的那样).您可以将单个属性表应用于许多项目.
在您的情况下,"附加库依赖项"和"其他包含目录"将放入属性表中.该属性表将应用于您的.exe项目和.lib项目.进行更改时,您将把它们添加到属性表中,两个项目都将看到更改.
让我们一步一步地设置属性表来做你想做的事情.
.exe和.lib项目.假设您的库的名称是PowerMath.lib,您的主要可执行文件是SuperCalc.exe.PowerMath.lib(在解决方案资源管理器中右键单击该项目,然后从上下文菜单中选择"属性").找到您所做的"其他库依赖项"和"其他包含目录"设置,然后将其删除.(仅删除您的变化,而不是无论在那里了.)(另外,写下你的东西或地方复制它-它会回来在第10步)当你与做PowerMath.lib项目,用重复这个过程SuperCalc.exe项目.把它全部撕掉,这样就不会干扰我们要采取的新方法.确保您已为项目的所有配置(Debug和Release,Win32和x64)执行此操作.PowerMath和SuperCalc项目名称.右键单击PowerMath.lib项目,然后选择" 添加新属性表 "菜单选项.PowerMath-settings.props.然后单击" 添加"以创建属性表,并自动将其附加到PowerMath.lib项目.PowerMath-settings属性表已附加到这两个配置.PowerMath-settings属性表中列出一群其他属性表即已经存在,其名称类似的上述Core Windows Libraries和Unicode Support. 您项目的任何配置中的所有设置都来自组合这些属性表!这就是Visual Studio中属性的工作方式 - 将所有项目的属性表放在一起,按顺序放在第一个属性表的底部.PowerMath-settings列表中的属性表.这将带您进入熟悉的Project Properties界面.此处所做的更改不适用于项目或该项目内的特定配置.相反,您只是为属性表编写设置PowerMath-settings.props.Edit....PowerMath-settings.props,用于存储PowerMath.lib库的所有用户所需的设置.SuperCalc项目(这是您的.exe).选择菜单选项添加现有属性表.查找PowerMath-settings.props并选择它.SuperCalc.exe获得您刚刚创建的所有设置PowerMath.lib.SuperCalc.exe.转到"其他包含目录".单击该字段左侧的向下箭头并选择Edit....您将看到属性表设置被列为"继承值".现在PowerMath.lib,只要您有一个新项目使用,只需转到Property Manager并添加现有属性表:PowerMath-settings.props.
请记住,属性表中对属性所做的所有更改都必须通过"属性管理器"对话框进行,而不是使用" PowerMath.lib项目属性"!"项目属性"是一种"覆盖"属性表,仅适用于一个特定项目.它位于物业经理列出的所有物业单之上.
| 归档时间: |
|
| 查看次数: |
2800 次 |
| 最近记录: |