CC\GCC 编译后的可执行文件无法在我的机器上运行?

标签 c gcc cc

简而言之,我想开始一个业余项目,我需要制作我的代码的.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/

相关文章:

c - 使用 libpcap 同时监听两个设备

c - GCC 会优化循环内的 self 反驳条件吗?

c - C 中的 "void not expected"

symlink - ld : library not found for -lgfortran - Mac Symlink issue?

mysql - DBD-mysql错误: CPU you selected does not support x86-64 instruction set

c - 从轮廓位置生成边界框

c++ - 子进程的异步双向 IO 重定向

gcc - objdump 反汇编与源代码不匹配

c++ - AOSP : arm-linux-androideabi-gcc: command not found even though it is present in prebuilts folder

c++ - 使用 enable_if 选择特征 - 适用于 clang,但不适用于 gcc