简而言之,我想开始一个业余项目,我需要制作我的代码的.exe
。我设法做到了,但每当我尝试单击它时都会出现错误:
This app can't run on your pc
普通终端完美运行可执行文件。
我已经知道这是一个 PATH 问题,几天来我一直在寻找答案。我只是不知道 PATH 问题是什么或者如何使 %.exe
包含它的路径以便它可以点击。
我认为问题不在实际代码中,但我仍会在此处包含我的 Makefile 的快照:
.Phony: all server dist clean
IDIR = include
CC ?= gcc
USERFLAGS+=
CLFLAGS += -I$(IDIR) -g -Wall -Wpedantic $(USERFLAGS) -std=c11 -Wno-format-extra-args
ODIR=obj
LDIR=lib
SRCDIR=src
LIBS=-lm
SRCS= $(wildcard $(SRCDIR)/*.c)
DEPS= $(wildcard $(ODIR)/*.o)
OBJ = $(patsubst $(SRCDIR)/%, $(ODIR)/%, $(SRCS:%.c=%.o))
all: server.exe
$(ODIR)/%.o: $(SRCDIR)/%.c
@echo "Making objects..."
mkdir -p $(ODIR)
$(CC) -MMD $(CLFLAGS) -c -o $@ $<
server.exe: $(OBJ)
@echo "Compiling..."
$(CC) -o $@ $(OBJ) $(CFLAGS) $(LIBS)
普通模式下的主要错误信息:
This app cannot run on this pc
管理模式下的错误信息:
Windows cannot find "[]/[]/server.exe", make sure you typed in the name correctly.
而且我只是不知道在哪里设置路径或如何自动设置路径(如果可能的话)。
最佳答案
解释当然是二进制文件链接到 GCC 安装目录中的 DLL。
识别二进制文件链接的 dll 的最简单方法是执行 strings server.exe |找到/i ".dll"
。
没有 strings.exe?看到这个问题:https://superuser.com/questions/124081/is-there-a-windows-equivalent-of-the-unix-strings-command
关于CC\GCC 编译后的可执行文件无法在我的机器上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56892379/