c++ - Visual Studio C++ 解决方案编译

标签 c++ visual-studio-2015

我的 Visual Studio 解决方案包含以下项目:

Solution
 -> FolderName
      C++ Project Name 1 
      C++ Project Name 2
 -> C++ Project Name 3 
 -> C# Project Name 

C++项目名称3是一个库类型项目(生成一个dll和一个lib)

C++ 项目名称 1 和 2 使用来自 C++ 项目名称 3 的 header ,并且在链接器部分中它们期望由 C++ 项目名称 3 生成的库

如果按照项目顺序 (3,1,2) 逐一编译,则所有内容都会正确编译并正常工作,但如果我尝试编译整个解决方案,则会收到链接器错误,指出它无法编译 C++项目名称 1,因为它无法从 C++ 项目名称 3 中找到库。

我的问题是,如果我选择编译解决方案,如何正确编译(按预期顺序)?下一步我要做的是使用 TFS 的构建系统进行编译,我预计我会遇到同样的问题

最佳答案

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

注意:您还可以手动更改构建顺序,但通过设置依赖项,Visual Studio 可以自行计算出顺序,这可能会更优化。

MSDN: How to: Create and Remove Project Dependencies

关于c++ - Visual Studio C++ 解决方案编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43520475/

相关文章:

c++ - 使用对象指针时访问冲突读取

entity-framework - 为什么 VS 2015 需要引用 System.Data.Entity 而 VS 2013 不需要?

c# - 删除 MSBuild DLL 引用,无论 VS 2015 中的版本如何(通过通配符)

c++ - 将重载 new 返回的 void * 分配给用户定义类型的指针时没有错误

c++ - 如何在 win32 中获取 HWND?

configuration - Xamarin/Visual Studio 2015 : Custom Proguard configuration

c++ - 具有显式参数和 sizeof 的 Variadic 模板... Visual Studio 2013

unit-testing - Visual Studio 2015 测试资源管理器在更新后不显示任何测试

c++ - 删除指针数组的正确方法

c++ - 从常量指针参数的目标复制临时使用的对象