如何在Visual Studio中包含标头和源文件文件夹

时间:2018-11-07 14:12:35

标签: c visual-studio

我正在使用Visual Studio(2017),并且需要以下内容。

我有一个文件夹,代码生成器用于存放从正式模型中获取的.h和.c文件。此文件夹不受我的控制,例如我不能写它,但是它是由另一个团队成员更新的。

通过使用/ I编译器选项(或项目属性中的“其他包含”目录),我设法将所有生成的头文件导入VS项目。我要做的是将生成的代码集成到特定平台中,这意味着我必须在目标平台上编译生成的代码和集成代码。问题是,编译器无法解析生成代码的生成函数定义,因为它只能看到.h文件。我得到的是链接错误(外部符号未解决)

为解决此问题,我手动地一个接一个地添加了现有的.c文件。此解决方案带来的明显问题是

  • 无聊的工作
  • 生成新文件时,我需要手动导入新文件

问题是:是否可以设置一个选项来指定源文件的路径,而不用一一传递?

注意:不能将生成的代码复制并粘贴到VS项目文件夹中。

谢谢

1 个答案:

答案 0 :(得分:1)

如果您查看https://docs.microsoft.com/en-us/cpp/ide/working-with-project-properties?view=vs-2017,您会发现有一个Source Directories属性,其默认值为$(VC_SourcePath),但是(我认为)您可以在其中添加其他路径。该文档尚不清楚这是否意味着将包含该路径中的所有源文件以进行编译。

在文档的底部,它说明了如何通过提供外部属性文件来覆盖某些prpject属性。看来您可以使用此类文件覆盖目标/源。您可以使用小型工具生成文件,该工具读取这些目录中的文件名并将其添加到文件中。

您还可以分析.vcproj文件并构建一个小型工具,该工具将用生成的源目录重写该部分,读取这些目录中的文件名并将它们添加到{{1}中的部分中}文件。