1

目前这不是交叉编译设置。只是一个本地 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 中检测到它们。任何人都可以帮忙吗?

4

1 回答 1

2

从头开始安装

首先,您的安装与分布式文件的布局不匹配。我建议您只需擦除所有内容,然后按以下顺序下载并安装(使用包含的安装程序脚本):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是无价的。

于 2021-04-12T17:21:36.680 回答