我的Visual Studio解决方案包含以下项目:
Solution
-> FolderName
C++ Project Name 1
C++ Project Name 2
-> C++ Project Name 3
-> C# Project Name
C++ Project Name 3
是一个库类型项目(生成一个DLL和一个库)
C++ Project Name 1 and 2
使用来自C++ Project Name 3
的标头以及他们期望C++ Project Name 3
生成的lib的链接器部分
如果在项目顺序(3,1,2)中逐个编译,一切都正确编译并运行,但是如果我尝试编译整个解决方案,我会收到链接器错误,指出它无法编译{{1}因为它无法从C++ project Name 1
找到lib。
我的问题是,如果我选择编译解决方案,我怎样才能正确编译(按预期顺序)?下一步我要做的是使用TFS的构建系统进行编译,我希望我会遇到同样的问题
答案 0 :(得分:4)
在Visual Studio中,转到Project
菜单,然后转到Project Dependencies
。选择“需要”库的项目,然后选中库的复选框。这将告诉Visual Studio如何确定顺序或编译。
注意:您也可以手动更改构建顺序,但通过设置依赖项,Visual Studio可以自行计算订单,这可能更合理。
答案 1 :(得分:1)
听起来您需要为解决方案设置项目依赖项。 How to: Create and Remove Project Dependencies
答案 2 :(得分:0)
使用“项目依赖项”,“公共属性”,“解决方案属性页”对话框设置当前构建顺序。要访问此对话框,请在“解决方案资源管理器”中选择解决方案,在“视图”菜单上选择“属性页”,然后在“公共属性”下选择“项目依赖项”。
https://msdn.microsoft.com/en-us/library/zk4ahe0t(v=vs.90).aspx