我的Visual解决方案包含以下项目:
Solution
-> FolderName
C++ Project Name 1
C++ Project Name 2
-> C++ Project Name 3
-> C# Project Name C++ Project Name 3是一个库类型项目(生成dll和lib)
C++ Project Name 1 and 2使用来自C++ Project Name 3的标题,并在链接器部分中使用C++ Project Name 3生成的库。
如果按项目顺序逐个编译(3,1,2),那么一切都会正确编译并正常工作,但是如果我试图编译整个解决方案,我会得到一个链接器错误,说明它无法编译C++ project Name 1,因为它无法从C++ Project Name 3找到库。
我的问题是,如果选择编译解决方案,如何正确编译(按预期顺序)?下一步我必须做的是使用来自TFS的构建系统进行编译,我希望在那里也会遇到同样的问题。
发布于 2017-04-20 13:12:59
在Visual中,转到Project菜单,然后转到Project Dependencies。选择“需要”库的项目,并选中库的复选框。这将告诉Visual如何确定顺序或编译。
注意:您也可以手动更改构建顺序,但是通过设置依赖项,Visual可以计算出订单本身,这可能是最优的。
发布于 2017-04-20 13:11:35
听起来,您需要为解决方案设置项目依赖项。如何:创建和删除项目依赖项
发布于 2017-04-20 13:11:56
使用“项目依赖项、公共属性、解决方案属性页”对话框设置当前生成顺序。若要访问此对话框,请在“解决方案资源管理器”中选择“解决方案”,在“视图”菜单上选择“属性页”,然后在“公共属性”下选择“项目依赖项”。
https://msdn.microsoft.com/en-us/library/zk4ahe0t(v=vs.90).aspx
https://stackoverflow.com/questions/43520475
复制相似问题