我正在尝试在Windows 10计算机上下载PSIPRED。将Git存储库克隆到我的计算机中,并下载了用于编译PSIPRED代码的GNU Make 3.81。根据安装说明,我应该在命令提示符中运行以下命令进行编译,然后将其放入bin文件夹中。
cd to-psipred-directory
cd src
make
make install
但是,当我运行它时,出现错误:
cc -O sspred_avpred.c -lm -o psipred
process_begin: CreateProcess(NULL, cc -O sspred_avpred.c -lm -o psipred, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [psipred] Error 2
这是psipred MAKEFILE的内容:
######################################################################
# Makefile for PSIpred4 #
######################################################################
#### CC Command to execute C compiler
#### CFLAGS Flags to pass to C compiler.
INCDIR = .
CC = cc
CFLAGS = -O
LIBS = -lm
all: psipred psipass2 chkparse seq2mtx
install:
/bin/cp psipred psipass2 chkparse seq2mtx ../bin
clean:
/bin/rm -f psipred psipass2 chkparse seq2mtx
psipred: sspred_avpred.c ssdefs.h sspred_net.h
$(CC) $(CFLAGS) sspred_avpred.c $(LIBS) -o psipred
psipass2: sspred_hmulti.c ssdefs.h sspred_net2.h
$(CC) $(CFLAGS) sspred_hmulti.c $(LIBS) -o psipass2
chkparse: chkparse.c
$(CC) $(CFLAGS) chkparse.c $(LIBS) -o chkparse
seq2mtx: seq2mtx.c
$(CC) $(CFLAGS) seq2mtx.c $(LIBS) -o seq2mtx
如何使它正常工作?
答案 0 :(得分:0)
PSIPRED是针对类似UNIX的操作系统(例如Linux或macOS)的工具,其工具具有此类系统的常规名称。 Windows是完全不同的野兽。
您的构建尝试当前遇到的特定问题似乎是C编译器的名称。假设您的系统首先存在一个系统(例如,在Visual Studio中),则系统名称不为cc
,或者在可执行的搜索路径中找不到该系统。但是,这并不是尝试在Windows上使用该makefile的唯一问题。
原则上,应该有可能使程序适应Windows,但这不仅需要获取GNU Make,还需要花费更多的时间来更新Makefile中的工具名称(但是谁知道呢? ,您可能会很幸运!)。
通过安装Linus Windows子系统(WSL)并在其中构建和运行该程序,您获得成功的可能性最大,但这并不像听起来那么简单。另外,如果成功,结果将只在您的WSL容器内运行,这可能无法满足您的需求。
您可以安装Cygwin或MinGW,它们可以采用不同的方法在本机Windows中提供类似Unix的环境。在这些环境之一中,您(可能)可以构建程序,并且可以在宿主Windows计算机上本地运行该程序。这也不像听起来那样容易,但这是一种相当普遍的方法。
原则上,您可以将软件移植到Windows,以便可以使用本机Windows构建工具(例如Visual Studio)进行构建。实际上,对于大多数Unix程序而言,这绝对是不重要的。
当然,您还可以设置一台成熟的Linux机器,用于在其上构建和运行该程序。尽管这需要更多资源,但这可能是总体上最简单的方法。