所以,我试图为自己构建一个程序,用gcc在windows中编译我所有的代码和东西。(用于visualstudio)。
直到现在,它一直很好,当我有一个包括。问题是它找不到.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--侏儒2--MD-O0--cpu=cortex-m4-Idir[,C:/Keil/ARM/INC/,C:/Kuil/ARM/CMSIS/Include/,C:-Keil/ARM/INC/ST/STM32F10x/]-Jdir[,C:\/Keil ARM/INC/,C:/Keil/ARM/CMSIS/Include/,C:\/Kuil/ARM/INC/STM32F10/]Blinky.C
我得到的错误是:错误5:无法打开源代码输入文件"stm32f10x.h"没有这样的文件或目录#包括/*STM32F103定义*/
为什么即使包含路径,我也会出现此错误?我是否真的正确地包含了我的pahs?任何积分、信息或任何东西都非常受欢迎!
根据我对-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