vbcc 编译器抱怨:找不到文件 'stdio.h',但它在 'include' 目录中
vbcc compiler complains: file 'stdio.h' not found, but it is in the 'include' directory
目前这不是交叉编译设置。只是一个本地 C 开发环境。这是代码:
#include <stdio.h>
int main(void){
printf("Hello World\n");
}
我用命令编译:vbbcm68k test.c
输出:
>#include <stdio.h>
error 248 in line 1 of "test.c": file 'stdio.h' not found
我已经安装了 vbcc_bin_amigaos68k 和 vbcc_target_m68k-amigaos
我的用户启动看起来像这样:
;BEGIN vbcc
assign >NIL: vbcc: Hard Disk:vbcc
assign >NIL: C: vbcc:bin vbcc:include ADD
setenv VBCC vbcc:
;END vbcc
我的安装根目录是这样的(头文件存在于 include/ 中):
Directories
bin
config
doc
include
lib
Files
test.asm
test.c
vbcc_inst.log
vbcc_version
如果我将 .h 文件复制到根目录,它可以工作,但显然我希望它们在 vbcc:include 中被检测到。有人可以帮忙吗?
从头开始安装
首先,您的安装与 distributed files. I suggest that you just wipe everything and then download and install (using the included installer scripts) in this order: vbcc_bin_amigaos68k.lha vbcc_target_m68k-amigaos.lha 中的布局不匹配。
或尝试修复它
vc 和 vbccm68k 都不会自动在 vbcc:include
中查找包含,你必须告诉他们在哪里使用 -I
标志查看。如果您使用 vc 命令而不是“原始”命令 vbccm68k,它可以从脚本中获取包含文件。
您平台的默认脚本在 ENV:vc.config
、VBCC:vc.config
或 $VBCC/config/vc.config
中搜索(来自您的 VBCC 环境变量) .在你的情况下,它应该从环境中获取,如果你查看 config 子目录,你应该有那个文件。
如果您检查 vc.config
,您会发现它向命令附加了 -Ivincludeos3:
。默认安装程序设置了一个分配给(特定于目标的)包含文件,它应该看起来像这样:
assign >NIL: vincludeos3: vbcc:targets/m68k-amigaos/include
在你的情况下我猜它会是:
assign >NIL: vincludeos3: vbcc:include
此外,这一行有点奇怪:
assign >NIL: C: vbcc:bin vbcc:include ADD
你应该离开 vbcc:include
,包含目录中没有二进制文件。
调试
对于工具找不到其文件的调试问题,SnoopDOS 是无价的。
目前这不是交叉编译设置。只是一个本地 C 开发环境。这是代码:
#include <stdio.h>
int main(void){
printf("Hello World\n");
}
我用命令编译:vbbcm68k test.c
输出:
>#include <stdio.h>
error 248 in line 1 of "test.c": file 'stdio.h' not found
我已经安装了 vbcc_bin_amigaos68k 和 vbcc_target_m68k-amigaos
我的用户启动看起来像这样:
;BEGIN vbcc
assign >NIL: vbcc: Hard Disk:vbcc
assign >NIL: C: vbcc:bin vbcc:include ADD
setenv VBCC vbcc:
;END vbcc
我的安装根目录是这样的(头文件存在于 include/ 中):
Directories
bin
config
doc
include
lib
Files
test.asm
test.c
vbcc_inst.log
vbcc_version
如果我将 .h 文件复制到根目录,它可以工作,但显然我希望它们在 vbcc:include 中被检测到。有人可以帮忙吗?
从头开始安装
首先,您的安装与 distributed files. I suggest that you just wipe everything and then download and install (using the included installer scripts) in this order: vbcc_bin_amigaos68k.lha vbcc_target_m68k-amigaos.lha 中的布局不匹配。
或尝试修复它
vc 和 vbccm68k 都不会自动在 vbcc:include
中查找包含,你必须告诉他们在哪里使用 -I
标志查看。如果您使用 vc 命令而不是“原始”命令 vbccm68k,它可以从脚本中获取包含文件。
您平台的默认脚本在 ENV:vc.config
、VBCC:vc.config
或 $VBCC/config/vc.config
中搜索(来自您的 VBCC 环境变量) .在你的情况下,它应该从环境中获取,如果你查看 config 子目录,你应该有那个文件。
如果您检查 vc.config
,您会发现它向命令附加了 -Ivincludeos3:
。默认安装程序设置了一个分配给(特定于目标的)包含文件,它应该看起来像这样:
assign >NIL: vincludeos3: vbcc:targets/m68k-amigaos/include
在你的情况下我猜它会是:
assign >NIL: vincludeos3: vbcc:include
此外,这一行有点奇怪:
assign >NIL: C: vbcc:bin vbcc:include ADD
你应该离开 vbcc:include
,包含目录中没有二进制文件。
调试
对于工具找不到其文件的调试问题,SnoopDOS 是无价的。