Visual Studio中的嵌套静态库?

时间:2017-03-23 11:49:11

标签: c visual-studio visual-studio-2015 static-libraries

我在C中有Vector实现的静态库。

我现在正在创建一个新的库,它将依赖Vector来运行属性。这个新库名为String。两者都是在Visual Studio中创建的静态库,它们具有自己的.c.h文件。

我执行以下操作就像引用任何其他静态库一样

  • 创建新的静态库。在其中创建.c.h个文件。

  • project -> properties -> C/C++ -> Additional include directories并设置为包含.c

  • .hVector个文件的文件夹
  • File -> Add -> Existing Project并设置.vcxproj项目的Vector文件。

  • 在我的解决方案资源管理器中,我进入了我的String解决方案并右键单击了References,然后选中了显示的Vector框。

    < / LI>

此时,我的String现在可以正确查看Vector

问题

当我打开一个新项目时,重复相同的步骤,除了String作为目标库,我收到以下错误:

Severity    Code    Description Project File    Line    Suppression State
Error   MSB8006 The Platform for project 'C-DataStructuresLib.vcxproj' is invalid.  Platform='HPD'. This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Platform.    CStringLib  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.InvalidPlatform.Targets    21

该行:

  

如果某个其他项目正在尝试遵循项目到项目的对此项目的引用,此项目已被卸载或未包含在解决方案中,并且引用项目不使用相同的构建,则也可能出现此错误或等效的平台

是正确的,因为这正是我想要做的。如何解决这个问题?

1 个答案:

答案 0 :(得分:-1)

您是否尝试编译为64位项目?
在属性页面中检查部分:链接器 - &gt;高级 - &gt;目标机器