Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 编译器将打印版本,但在生成时冻结_Unix_Terminal_Compiler Errors_Zig - Fatal编程技术网

Unix 编译器将打印版本,但在生成时冻结

Unix 编译器将打印版本,但在生成时冻结,unix,terminal,compiler-errors,zig,Unix,Terminal,Compiler Errors,Zig,我试着跟着。我从2016年开始在13英寸Macbook pro上运行MacOS Catalina,10.15.3。我从for Mac下载了最新版本。我解压缩了文件,并移动了zig可执行文件(但不是文件夹的其余内容)现在,无论我在哪里运行它,我都可以调用zig version,并按预期获得输出0.6.0+352976ed2。然而,每当我尝试类似zig run main.zig或zig build main.zig的东西时,它就会冻结,什么也不做 现在,教程确实说它不支持zig 0.6.0。但是我假

我试着跟着。我从2016年开始在13英寸Macbook pro上运行MacOS Catalina,10.15.3。我从for Mac下载了最新版本。我解压缩了文件,并移动了zig可执行文件(但不是文件夹的其余内容)现在,无论我在哪里运行它,我都可以调用
zig version
,并按预期获得输出
0.6.0+352976ed2
。然而,每当我尝试类似
zig run main.zig
zig build main.zig
的东西时,它就会冻结,什么也不做

现在,教程确实说它不支持zig 0.6.0。但是我假设这仍然有效,并且教程更多地指的是打印方式的改变,当它说它不支持0.6.0。显然这可能是一个错误的假设,但我不知道为什么这不起作用。由于zig还年轻,有一个缺少入门教程,所以我不知道还能去哪里找


我以前已经让zig 0.6.0与homebrew一起工作过,但由于我可能正在考虑贡献或尝试编译器的实验分支,我希望能够运行任意zig可执行文件。

我能够解决我的问题。首先,我从
usr/local/bin
中删除了zig,以及与e原始下载。然后,我没有下载主版本,而是下载了mac的0.6.0版本。我解压缩了它。我尝试直接从那里编译它,结果成功了。但是,当我将它移动到
usr/local/bin
时,它给了我错误

Unable to find zig lib directory
因此,很明显,可执行文件需要与文件夹的其余内容在一起,我在其中替换了可执行文件

我在我的主目录中创建了一个名为
tools
的新目录。我将解压后的文件夹(称为zig-macos-x86_64-0.6.0)移动到
tools
目录中。然后(从我的主目录)使用此命令创建了指向bin中二进制文件的符号链接

ln -s tools/zig-macos-x86_64-0.6.0/zig ../../usr/local/bin/zig
我退出并重新启动了终端。现在
zig版本
生成
0.6.0
,编译程序时
main.zig

const std = @import("std");

pub fn main() void {
    std.debug.warn("Hello, {}!\n", .{"World"});
}
使用命令zig run main.zig我得到了

Hello, World!