C 使用共享库和多个项目设置STM32解决方案

C 使用共享库和多个项目设置STM32解决方案,c,stm32,cubemx,C,Stm32,Cubemx,我使用Rowley CrossWorks作为我的IDE 我有几个使用STM32CubeMX创建的STM32项目,这些项目有几个文件,通过将源文件夹复制到每个项目的“src”文件夹中,到目前为止是共享的 这显然不是一个理想的解决方案 如何最好地将项目合并在一起,以便使用相同的公共文件构建单个项目? 最好是“drivers”文件夹和“inc”文件夹也从一个公共位置共享。现在是学习版本控制的时候了-最流行和免费的是git 您的公共库-GIT子模块。我找到了一个解决方案 我将特定于应用程序的代码放在s

我使用Rowley CrossWorks作为我的IDE

我有几个使用STM32CubeMX创建的STM32项目,这些项目有几个文件,通过将源文件夹复制到每个项目的“src”文件夹中,到目前为止是共享的

这显然不是一个理想的解决方案

如何最好地将项目合并在一起,以便使用相同的公共文件构建单个项目?
最好是“drivers”文件夹和“inc”文件夹也从一个公共位置共享。

现在是学习版本控制的时候了-最流行和免费的是
git


您的公共库-GIT子模块。

我找到了一个解决方案

我将特定于应用程序的代码放在src文件夹中的一个文件夹中。e、 g\src\和\src\appX\src\appY

每个解决方案都放在MDK-ARM文件夹中,然后我编辑项目文件

<folder Name="Application/User">
  <file file_name="../Src/AppX/main.c" />

  <file file_name="../Src/AppX/settingsHandler.c" />
  <file file_name="../Src/AppX/settingsHandler.h" />
  <file file_name="../Src/AppX/cryptography.c" />
  <file file_name="../Src/AppX/cryptography.h" />



符号链接在Linux上可能会有所帮助,但我想它们可能会导致版本控制问题。也许git子模块可以提供帮助。我在这里有一个有点相关的问题:最好将共享(外来)库保存在具有版本号的单独文件夹中(通常它们在文件夹名称中包含此类版本)。通过这种方式,您的一个项目可以使用
libX\u ver\u 1.1
和另一个
libX\u ver\u 2.2
。感谢您的输入。我也不能使用GIT或其他版本系统解决方案,因为由于公司政治原因,这是不可能的。我必须使用一种解决方案local@HenrikRuneJakobsenGIT是本地的。您可以在其他地方进行上行链路,但不需要它。GIT不是github.com或gitlab.com。Git数据驻留在本地计算机上:)@HenrikRuneJakobsen Git不等于GitHub。GitHub就像一个公共主机——您可以将git用于本地项目存储。
<folder Name="Application/User">
  <file file_name="../Src/AppY/main.c" />

  <file file_name="../Src/AppY/blah.c" />
  <file file_name="../Src/AppY/blah.h" />
  <file file_name="../Src/AppY/foo.c" />
  <file file_name="../Src/AppY/foo.h" />