Visual Studio C ++解决方案编译

时间:2017-04-20 13:07:42

标签: c++ visual-studio-2015

我的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的构建系统进行编译,我希望我会遇到同样的问题

3 个答案:

答案 0 :(得分:4)

在Visual Studio中,转到Project菜单,然后转到Project Dependencies。选择“需要”库的项目,然后选中库的复选框。这将告诉Visual Studio如何确定顺序或编译。

注意:您也可以手动更改构建顺序,但通过设置依赖项,Visual Studio可以自行计算订单,这可能更合理。

MSDN: How to: Create and Remove Project Dependencies

答案 1 :(得分:1)

听起来您需要为解决方案设置项目依赖项。 How to: Create and Remove Project Dependencies

答案 2 :(得分:0)

使用“项目依赖项”,“公共属性”,“解决方案属性页”对话框设置当前构建顺序。要访问此对话框,请在“解决方案资源管理器”中选择解决方案,在“视图”菜单上选择“属性页”,然后在“公共属性”下选择“项目依赖项”。

https://msdn.microsoft.com/en-us/library/zk4ahe0t(v=vs.90).aspx