目前这不是一个交叉编译设置。只是一个本地的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.
或者尝试修复它
vc和vbccm68k都不会在vbcc:include
中自动查找includes,您必须使用-I
标志告诉它们查找位置。如果使用vc命令而不是";生的">vbccm68k,它可以从脚本中获取包含文件。
在ENV:vc.config
、VBCC: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是非常宝贵的。