我们正在尝试编译
这个
按照自述文件中的说明进行操作。我必须说,我们不是C++的专家
一点也不
,我们是web开发训练营的学生,正在努力完成我们的最后一个项目。
这是一个命令行工具来计算多个天体的星历,正如你可以在自述文件中读到的设置一样,它需要从互联网上下载某些数据,然后编译。所有操作都是通过
脚本。
因此,我们尝试了:
在Windows 10 ubuntu WSL终端中
如果我们输入
或者
,下载数据后,给出错误:
$mkfifo: cannot create fifo 'stderr': Operation not supported
$mkdir -p obj obj/argparse obj/coreUtils obj/ephemCalc obj/listTools obj/mathsTools obj/settings
cc -Wall -Wno-format-truncation -Wno-unknown-pragmas -g -c -I /mnt/d/reboot/ephemeris-compute-de430/src -O3 -D DEBUG=0 -D MEMDEBUG1=0 -D MEMDEBUG2=0 -fopenmp -D DCFVERSION=\"2.0\" -D DATE=\"09/06/2019\" -D PATHLINK=\"/\" -D SRCDIR=\"/mnt/d/reboot/ephemeris-compute-de430/src/\" src/ephemCalc/constellations.c -o obj/ephemCalc/constellations.o如果我们用
,打印的错误为:
$mkfifo: cannot create fifo 'stderr': Operation not supported
$cat: stderr: No such file or directory
$mkdir -p obj obj/argparse obj/coreUtils obj/ephemCalc obj/listTools obj/mathsTools obj/settings
cc -Wall -Wno-format-truncation -Wno-unknown-pragmas -g -c -I /mnt/d/reboot/ephemeris-compute-de430/src -O3 -D DEBUG=0 -D MEMDEBUG1=0 -D MEMDEBUG2=0 -fopenmp -D DCFVERSION=\"2.0\" -D DATE=\"09/06/2019\" -D PATHLINK=\"/\" -D SRCDIR=\"/mnt/d/reboot/ephemeris-compute-de430/src/\" src/ephemCalc/constellations.c -o obj/ephemCalc/constellations.o在macOS终端中
如果我们输入
,给出了错误:
$mkdir -p obj obj/argparse obj/coreUtils obj/ephemCalc obj/listTools obj/mathsTools obj/settings
cc -Wall -Wno-format-truncation -Wno-unknown-pragmas -g -c -I /Users/rominaelorrietalopez/Documents/Descargas2/ephemeris-compute-de430-master/src -O3 -D DEBUG=0 -D MEMDEBUG1=0 -D MEMDEBUG2=0 -fopenmp -D DCFVERSION=\"2.0\" -D DATE=\"09/06/2019\" -D PATHLINK=\"/\" -D SRCDIR=\"/Users/rominaelorrietalopez/Documents/Descargas2/ephemeris-compute-de430-master/src/\" src/argparse/argparse.c -o obj/argparse/argparse.o
$clang: error: unsupported option '-fopenmp'
$make: *** [obj/argparse/argparse.o] Error 1我们已经尝试了某些事情,但都无济于事,比如授予权限等等,但不知道下一步该做什么。
它似乎与漂亮的have文件有关:
mkfifo stderr
cat stderr | sed 's/\(.*\)/\1/' &
make $@ 2>stderr | sed 's/\(.*\)/\1/'
rm stderr这就像它试图创建一个管道来保存编译的错误,但不知何故失败了。同样值得一提的是,它有一个关联的Makefile。
由于github项目没有问题,我们已经通过电子邮件联系了创建者,但我们认为也许有人可以在这里帮助我们。
任何形式的帮助都会受到真诚的感谢,谢谢。
发布于 2021-02-28 21:52:45
来自OP的评论邀请我回答;这就是它。
The The The
脚本创建一个命名的fifo,以便接收由生成的消息
关于它的标准误差。后台进程(
)使用此fifo中的数据,并将它们发送到
命令(参见后面),以便在写入标准输出之前转换这些数据。(请注意
在这里是无用的,因为
可以直接从指定的fifo读取,这要归功于
)
然而,这两个
问题中所示的命令不会做任何事情,因为它们只捕获文本的每一行(
),并原封不动地重复它们(
),因此它们可以被省略。在这种情况下,脚本可能只包含
,它也会产生同样的效果。在创建命名fifo有问题的系统上(显然是旧版本的WSL ),脚本中的这种更改应该会产生与预期相同的效果。
查看
链接
在问题中,我们可以看到原来的
脚本实际上包含
命令,以显示
命令使用不同的颜色。
https://stackoverflow.com/questions/66399634
复制相似问题