makefile不会在windows中编译:系统找不到指定的文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了makefile不会在windows中编译:系统找不到指定的文件相关的知识,希望对你有一定的参考价值。
我不确定我在这里做什么,我正在尝试编译代码,所以我可以在python中运行它。 makefile在文件S4中,当我运行make它创建文件夹构建时,由于某种原因,它期望文件S4.cpp里面没有任何意义,因为它是空的,这是我得到的错误:
C:UserslovelAnaconda3S4>make
mkdir "build/S4k"
mkdir "build/modules"
g++ -c -O2 -Wall -march=native -fcx-limited-range -fno-exceptions -static - IS4 -IS4/RNP -IS4/kiss_fft S4/S4.cpp -o build/S4k/S4.cpp
process_begin: CreateProcess(NULL, g++ -c -O2 -Wall -march=native -fcx- limited-range -fno-exceptions -static -IS4 -IS4/RNP -IS4/kiss_fft S4/S4.cpp - o build/S4k/S4.cpp, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [build/S4k/S4.cpp] Error 2
当我将S4.cpp和S4.o放在他们各自的文件夹中时,我仍然会收到此错误:
C:UserslovelAnaconda3S4uildS4k>make
mkdir "build"
mkdir "build/S4k"
mkdir "build/modules"
make: *** No rule to make target `S4/S4.cpp', needed by `build/S4k/S4.o'. Stop.
我在Windows上运行make并使用python 2.5.7。这是我正在尝试编译和运行python Stanford Stratified Structure Solver的链接,它在过去3周内给了我很多问题,我需要帮助正确安装它。
我可能要改变我的makefile,它的意思是python和lua取决于你喜欢我用python,所以这里是makefile代码:
# The following must be defined already:
# CC
# CXX
# OPTFLAGS
# LUA_INC
# LUA_LIB
# LUA_MODULE_LIB
# LA_LIBS
# OBJDIR
# SHLIB_EXT (so, dll)
# SHLIB_FLAGS
CPPFLAGS += -IS4 -IS4/RNP -IS4/kiss_fft
#### Compilation targets
S4_LIBNAME = libS4.a
all: $(OBJDIR)/$(S4_LIBNAME) $(OBJDIR)/S4 modules
S4mpi: $(OBJDIR)/S4mpi
objdir:
mkdir "$(OBJDIR)"
mkdir "$(OBJDIR)/S4k"
mkdir "$(OBJDIR)/modules"
S4_LIBOBJS =
$(OBJDIR)/S4k/S4.o
$(OBJDIR)/S4k/rcwa.o
$(OBJDIR)/S4k/fmm_common.o
$(OBJDIR)/S4k/fmm_FFT.o
$(OBJDIR)/S4k/fmm_kottke.o
$(OBJDIR)/S4k/fmm_closed.o
$(OBJDIR)/S4k/fmm_PolBasisNV.o
$(OBJDIR)/S4k/fmm_PolBasisVL.o
$(OBJDIR)/S4k/fmm_PolBasisJones.o
$(OBJDIR)/S4k/fmm_experimental.o
$(OBJDIR)/S4k/fft_iface.o
$(OBJDIR)/S4k/pattern.o
$(OBJDIR)/S4k/intersection.o
$(OBJDIR)/S4k/predicates.o
$(OBJDIR)/S4k/numalloc.o
$(OBJDIR)/S4k/gsel.o
$(OBJDIR)/S4k/sort.o
$(OBJDIR)/S4k/kiss_fft.o
$(OBJDIR)/S4k/kiss_fftnd.o
$(OBJDIR)/S4k/SpectrumSampler.o
$(OBJDIR)/S4k/cubature.o
$(OBJDIR)/S4k/Interpolator.o
$(OBJDIR)/S4k/convert.o
ifndef LAPACK_LIB
S4_LIBOBJS += $(OBJDIR)/S4k/Eigensystems.o
endif
$(OBJDIR)/libS4.a: objdir $(S4_LIBOBJS)
$(AR) crvs $@ $(S4_LIBOBJS)
$(OBJDIR)/S4k/S4.o: S4/S4.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/rcwa.o: S4/rcwa.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_common.o: S4/fmm/fmm_common.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_FFT.o: S4/fmm/fmm_FFT.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_kottke.o: S4/fmm/fmm_kottke.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_closed.o: S4/fmm/fmm_closed.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_PolBasisNV.o: S4/fmm/fmm_PolBasisNV.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_PolBasisVL.o: S4/fmm/fmm_PolBasisVL.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_PolBasisJones.o: S4/fmm/fmm_PolBasisJones.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fmm_experimental.o: S4/fmm/fmm_experimental.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/fft_iface.o: S4/fmm/fft_iface.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/pattern.o: S4/pattern/pattern.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/intersection.o: S4/pattern/intersection.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/predicates.o: S4/pattern/predicates.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/numalloc.o: S4/numalloc.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/gsel.o: S4/gsel.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/sort.o: S4/sort.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/kiss_fft.o: S4/kiss_fft/kiss_fft.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/kiss_fftnd.o: S4/kiss_fft/tools/kiss_fftnd.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/SpectrumSampler.o: S4/SpectrumSampler.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/cubature.o: S4/cubature.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/Interpolator.o: S4/Interpolator.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/convert.o: S4/convert.c
$(CC) -c $(CFLAGS) $(CPPFLAGS) $< -o $@
$(OBJDIR)/S4k/Eigensystems.o: S4/RNP/Eigensystems.cpp
$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) $< -o $@
#### Lua Frontend
$(OBJDIR)/S4k/main_lua.o: S4/main_lua.c objdir
$(CC) -c $(CFLAGS) $(CPPFLAGS) $(LUA_INC) $< -o $@
$(OBJDIR)/S4: $(OBJDIR)/S4k/main_lua.o $(OBJDIR)/$(S4_LIBNAME)
$(CXX) $(CFLAGS) $(CPPFLAGS) $< -o $@ -L$(OBJDIR) -lS4 $(LA_LIBS)
$(LUA_LIB)
$(OBJDIR)/S4k/main_lua_mpi.o: S4/main_lua.c objdir
$(CC) -c -DHAVE_MPI $(CFLAGS) $(CPPFLAGS) $(LUA_INC) $(MPI_INC) $< -o $@
$(OBJDIR)/S4mpi: $(OBJDIR)/S4k/main_lua_mpi.o $(OBJDIR)/$(S4_LIBNAME)
$(CXX) $(CFLAGS) $(CPPFLAGS) $< -o $@ -L$(OBJDIR) -lS4 $(LA_LIBS)
$(LUA_LIB) $(MPI_LIB)
modules:
$(OBJDIR)/RCWA.$(SHLIB_EXT)
$(OBJDIR)/FunctionSampler1D.$(SHLIB_EXT)
$(OBJDIR)/FunctionSampler2D.$(SHLIB_EXT)
$(OBJDIR)/RCWA.$(SHLIB_EXT):
$(CC) $(LUA_INC) -O3 $(SHLIB_FLAGS) -fpic S4/main_lua.c -o $@$(LUA_MODULE_LIB) -L$(OBJDIR) -lS4 $(LA_LIBS) -lstdc++
$(OBJDIR)/FunctionSampler1D.$(SHLIB_EXT): modules/function_sampler_1d.c modules/function_sampler_1d.h modules/lua_function_sampler_1d.c
$(CC) -c $(OPTFLAGS) -fpic -Wall -I. modules/function_sampler_1d.c -o
$(OBJDIR)/modules/function_sampler_1d.o
$(CC) $(OPTFLAGS) $(SHLIB_FLAGS) -fpic -Wall $(LUA_INC) -o $@
$(OBJDIR)/modules/function_sampler_1d.o modules/lua_function_sampler_1d.c $(LUA_MODULE_LIB) $(OBJDIR)/FunctionSampler2D.$(SHLIB_EXT): modules/function_sampler_2d.c modules/function_sampler_2d.h modules/lua_function_sampler_2d.c
$(CC) -c $(OPTFLAGS) -fpic -Wall -I. modules/function_sampler_2d.c -o
$(OBJDIR)/modules/function_sampler_2d.o
$(CC) -c -O2 -fpic -Wall -I. modules/predicates.c -o
$(OBJDIR)/modules/mod_predicates.o
$(CC) $(OPTFLAGS) $(SHLIB_FLAGS) -fpic -Wall $(LUA_INC) -o $@
$(OBJDIR)/modules/function_sampler_2d.o
$(OBJDIR)/modules/mod_predicates.o modules/lua_function_sampler_2d.c $(LUA_MODULE_LIB)
#### Python extension
S4_pyext: objdir $(OBJDIR)/libS4.a
echo "$(LIBS)" > $(OBJDIR)/tmp.txt
sh gensetup.py.sh $(OBJDIR) $(OBJDIR)/$(S4_LIBNAME)
python setup.py build
clean:
rm -rf $(OBJDIR)
#### S4v2 extension
$(OBJDIR)/S4v2.$(SHLIB_EXT): $(OBJDIR)/$(S4_LIBNAME) S4/ext_lua.c
$(CC) $(SHLIB_FLAGS) $(LUA_INC) S4/ext_lua.c -o $@ $(LUA_MODULE_LIB) -L$(OBJDIR) -lS4 $(LA_LIBS) -lstdc++
$(OBJDIR)/libS4_lua.a: $(OBJDIR)/$(S4_LIBNAME)
$(CC) -c $(LUA_INC) S4/ext_lua.c -o $(OBJDIR)/ext_lua.o
$(AR) crvs $@ $(OBJDIR)/ext_lua.o
如果您可以在代码中指出任何有助于避免任何未来问题的事情,我将不胜感激。
该问题与makefile的内容无关。
问题是您没有在Windows系统上安装g++
程序,或者如果您这样做,则无法找到它。该错误意味着它无法调用您要求在配方中调用的程序(在本例中为g++
)。
以上是关于makefile不会在windows中编译:系统找不到指定的文件的主要内容,如果未能解决你的问题,请参考以下文章
操作系统的 Makefile.PL meta.json 先决条件,因此模块不会安装在 Windows 上
开发环境Windows 系统中使用 Makefile 构建脚本编译 C 程序 ( 下载并安装 TDM-GCC 编译器 | 配置环境变量 | 编译 Makefile 程序 )
gnuplot Makefile 找不到从 Visual Studio 2010 命令提示符编译的 gd.h
Makefile error make (e=2): 系统找不到指定的文件
在windows平台如何用MinGW编译工程?工程中有Makefile.an和Makefile.in文件,要输入啥命令呢?