VBCC编译器抱怨:找不到文件"stdio.h",但它在"include"目录中



目前这不是一个交叉编译设置。只是一个本地的C开发环境。这是代码:

#include <stdio.h>
int main(void){
printf("Hello Worldn");
}

我使用命令编译: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-amigos

我的用户启动看起来像这样:

;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中检测到它们。有人能帮忙吗?

从头开始安装

首先,您的安装与分布式文件的布局不匹配。我建议您删除所有内容,然后按以下顺序下载并安装(使用附带的安装程序脚本(:vbcc_bin_amigaos68k.lha vbcc_target_m68k-amigaos.lha.

或者尝试修复它

vcvbccm68k都不会在vbcc:include中自动查找includes,您必须使用-I标志告诉它们查找位置。如果使用vc命令而不是";生的">vbccm68k,它可以从脚本中获取包含文件。

ENV:vc.configVBCC:vc.config$VBCC/config/vc.config(从VBCC环境变量(中搜索平台的默认脚本。在您的情况下,它应该从环境中获取,如果您在config子目录中查找,则应该有该文件。

如果检查vc.config,您会发现它将-Ivincludeos3:附加到命令中。默认安装程序为(特定于目标的(include文件设置一个赋值,它应该看起来像这样:

assign >NIL: vincludeos3: vbcc:targets/m68k-amigaos/include

在你的情况下,我想是:

assign >NIL: vincludeos3: vbcc:include

此外,这句话有点奇怪:

assign >NIL: C: vbcc:bin vbcc:include ADD

您应该将vbcc:include排除在外,include目录中没有二进制文件。

调试

对于工具找不到其文件的调试问题,SnoopDOS是非常宝贵的。

相关内容

  • 没有找到相关文章

最新更新