我需要在Windows上运行用Linux编写的C项目。该项目包含以下内容:文件夹(libs)下的main.c,makefile,(。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&#39; C:/ Program Files / mingw-w64 / x86_64-7.1.0-posix-seh-rt_v5-rev0 / mingw64 / bin / gcc.exe&#39; -MM gcc.exe:致命错误:没有输入文件 编译终止。
COMPILE FILE FAILED(退出值1,总时间:306ms)
答案 0 :(得分:0)
我相信当您安装Visual Studio时,它提供了使用Linux运行的选项。您可以解决此问题的另一种方法是使用具有Linux OS的VM。