我需要在 Windows 上运行用 Linux 编写的 C 项目。该项目包含以下内容:main.c、makefile、文件夹(libs)下的(.c)和(.h)文件,其中包括“GL/glut.h”(openGL)。我尝试在 Visual Studio 下运行它,但没有成功。现在,我正在 MinGW 编译器下使用 NetBeans。我执行了上述所有步骤以使 NetBeans 使用 MinGW 编译器,但 makefile 仍然无法编译,并且我无法理解背后的错误。非常感谢任何帮助。谢谢。
在 makefile 下方找到:
EXECUTABLE = main
CC = g++
CWD=$(shell pwd)
INCLUDES =
CFLAGS= -O3 -funroll-loops -fomit-frame-pointer #-static -Wall
LIBFLAGS = -L./ -lGL -lGLU -lglut #-L/usr/X11R6/lib # -lXxf86vm
SOURCE_FILES = $(shell find -name \*.c)
INTERM_DIR=obj
all: $(EXECUTABLE)
clean:
$(RM) -rf $(INTERM_DIR) $(EXECUTABLE)
.PHONY: clean
$(INTERM_DIR) :
mkdir -p $@
$(INTERM_DIR)/%.dep: %.c
mkdir -p `dirname $@`
echo -n `dirname $@`/ > $@
$(CC) $(CFLAGS_COMMON) $< -MM | sed -r -e 's,^(.*)\.o\s*\:,\1.o $@ :,g' >> $@
ifneq ($(MAKECMDGOALS),clean)
-include $(SOURCE_FILES:./%.c=./$(INTERM_DIR)/%.dep)
endif
$(INTERM_DIR)/%.o: ./%.c
mkdir -p `dirname $@`
$(CC) $(CFLAGS) -c $< -o $@
$(EXECUTABLE): $(SOURCE_FILES:./%.c=./$(INTERM_DIR)/%.o)
mkdir -p `dirname $@`
$(CC) $^ $(LIBFLAGS) -o $@
我得到的错误:C:\cygwin64\bin\bash.exe -c 'C:/Program Files/mingw-w64/x86_64-7.1.0-posix-seh-rt_v5-rev0/mingw64/bin/gcc.exe' -MMgcc.exe: fatal error :没有输入文件编译终止。
编译文件失败(退出值1,总时间:306ms)
我相信当您安装 Visual Studio 时,它会提供在 Linux 上运行的选项。解决此问题的另一种方法是使用具有 Linux 操作系统的虚拟机。
我是一名优秀的程序员,十分优秀!