代码块可以构建C程序,但不能运行它

问题描述

我在MacOS上是新手,这就是为什么我真的不知道它如何工作的原因。

当我在代码块中构建C程序时,编译器没有问题,但是当我尝试运行它时,出现以下错误

'/Applications/CodeBlocks.app/Contents/MacOS/cb_console_runner DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:. /Users/gabin/Documents/codeblocks/fd/bin/Debug/fd '
zsh: no such file or directory: /Applications/CodeBlocks.app/Contents/MacOS/cb_console_runner DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:. /Users/gabin/Documents/codeblocks/fd/bin/Debug/fd 

我在另一篇文章中看到这是程序名称中存在空格的问题,但是这里的程序名称是“ fd”,所以我看不出问题出在哪里。

解决方法

如果您可以在代码块中添加自定义运行命令,请使用此

DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:. /Users/gabin/Documents/codeblocks/fd/bin/Debug/fd 

它应该只是环境变量,后跟二进制文件,参数之间(内部参数之间,而不是内部参数之间)可以有任意数量的空格。

我不了解Codeblock,但是Xcode接受.app捆绑包作为启动项。如果要从终端启动任何内容,请使用主二进制文件的完整路径

/Users/gabin/Documents/codeblocks/fd/bin/Debug/fd
,

只需复制/粘贴不带引号''的命令:

/Applications/CodeBlocks.app/Contents/MacOS/cb_console_runner DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:. /Users/gabin/Documents/codeblocks/fd/bin/Debug/fd

它将运行。

,

问题在于命令周围的引号 ' '。如果您复制/粘贴不带引号的命令,它将执行代码。这是根据上述问题的示例:

/Applications/CodeBlocks.app/Contents/MacOS/cb_console_runner DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:. /Users/gabin/Documents/codeblocks/fd/bin/Debug/fd

其他人可能会有所不同。