1

因此,我试图为自己构建一个程序,该程序将使用 gcc 在 Windows 中编译我的所有代码和内容。(与视觉工作室一起使用)。

直到现在,当我有一个包含时,它已经相当不错了。问题是它无法找到 .H 文件,因为它位于另一个目录中。但即使我添加 -Idir[PATH1,PATH2,PATH3] 它仍然找不到它。

这是我试图编译的程序

#include <stm32f10x.h>                      /* STM32F103 definitions         */

/*----------------------------------------------------------------------------
  wait function
 *----------------------------------------------------------------------------*/
void wait (void)  {
  int  d;

  for (d = 0; d < 2000000; d++);             /* only to delay for LED flashes */
}


/*----------------------------------------------------------------------------
  Main Program
 *----------------------------------------------------------------------------*/
int main (void) {
  unsigned int i;                            /* LED variable                  */

  RCC->APB2ENR |= (1UL << 3);                /* Enable GPIOB clock            */

  GPIOB->CRH    =  0x33333333;               /* PB.8..16 defined as Outputs   */

  while (1)  {                               /* Loop forever                  */
    for (i = 1<<8; i < 1<<15; i <<= 1) {     /* Blink LED 0,1,2,3,4,5,6       */
      GPIOB->BSRR = i;                       /* Turn LED on                   */
      wait ();                               /* call wait function            */
      GPIOB->BRR = i;                        /* Turn LED off                  */
    }
    for (i = 1<<15; i > 1<<8; i >>=1 ) {     /* Blink LED 7,6,5,4,3,2,1       */
      GPIOB->BSRR = i;                       /* Turn LED on                   */
      wait ();                               /* call wait function            */
      GPIOB->BRR = i;                        /* Turn LED off                  */
    }
  }
}

这是我的 armcc 编译器选项。-

C:/Keil/ARM/ARMCC/bin/armcc.exe -c --dwarf2 --MD -O0 --cpu=cortex-m4 -Idir[,C:/Keil/ARM/INC/,C:/Keil/ ARM/CMSIS/Include/,C:/Keil/ARM/INC/ST/STM32F10x/] -Jdir[,C:/Keil/ARM/INC/,C:/Keil/ARM/CMSIS/Include/,C:/ Keil/ARM/INC/ST/STM32F10x/] Blinky.c

我得到的错误是:错误5:无法打开源输入文件“stm32f10x.h”没有这样的文件或目录#include/* STM32F103定义*/

即使我包含路径,为什么我会收到此错误?我实际上是否正确地包含了我的路径?任何积分,信息或任何东西都非常受欢迎!

4

1 回答 1

1

根据我对 -I 选项的Keil 文档的阅读,您的命令行应如下所示:

 C:/Keil/ARM/ARMCC/bin/armcc.exe -c --dwarf2 --MD -O0 --cpu=cortex-m4 -IC:/Keil/ARM/INC/,C:/Keil/ARM/CMSIS/Include/,C:/Keil/ARM/INC/ST/STM32F10x/ -JC:/Keil/ARM/INC/,C:/Keil/ARM/CMSIS/Include/,C:/Keil/ARM/INC/ST/STM32F10x/ Blinky.c
于 2012-10-15T14:29:07.397 回答