makeが上手く通らない
C言語で書かれたソースコードをコンパイル・実行したいのですが、Linuxで動かす様に設定されているようで上手く動きませんでした。
「process_begin: CreateProcess(NULL, gcc -c -o OBJ/Activate.o Activate.c -O3 -Wall -IINCLUDE -DTWO_LEVEL_TREE -g, ...) failed.」「make (e=2): 指定されたファイルが見つかりません。」と言ったエラーが出ています。
コマンドプロンプトからmakeと打ち込むと、下記のエラーが発生するためGnuWin32のパスは通っていると思います。
こちらのページにあるのと同じように、コマンドプロンプト以外でgccというコマンドを読み取れなくなっているという可能性もあるのかなと思うのですが、解決方法が分かりません。
どなたかご教授をお願いいたします。
使用環境
-
OS:Windows10 64bit
-
開発環境:CLion(JetBrain)
-
gcc: C:\Program Files(x86)下へGnuWin32インストール
実行できないmakefileファイル
LKH-2.0.9/Makefile
ここから実行するのだと思います。
実行すると、SRCファイルへ飛びます。
Makefile
1all: 2 $(MAKE) -C SRC all 3clean: 4 $(MAKE) -C SRC clean
SRCファイル内のmakefileが下記です。
makefile
1TREE_TYPE = TWO_LEVEL_TREE 2# TREE_TYPE = THREE_LEVEL_TREE 3# TREE_TYPE = ONE_LEVEL_TREE 4 5 CC = gcc 6IDIR = INCLUDE 7ODIR = OBJ 8CFLAGS = -O3 -Wall -I$(IDIR) -D$(TREE_TYPE) -g 9 10_DEPS = Delaunay.h GainType.h Genetic.h GeoConversion.h Hashing.h \ 11 Heap.h LKH.h Segment.h Sequence.h gpx.h 12 13DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS)) 14 15_OBJ = Activate.o AddCandidate.o AddExtraCandidates.o \ 16 AddTourCandidates.o AdjustCandidateSet.o AdjustClusters.o \ 17 AllocateStructures.o Ascent.o \ 18 Best2OptMove.o Best3OptMove.o Best4OptMove.o Best5OptMove.o \ 19 BestKOptMove.o Between.o Between_SL.o Between_SSL.o \ 20 BridgeGain.o BuildKDTree.o C.o CandidateReport.o \ 21 ChooseInitialTour.o Connect.o CreateCandidateSet.o \ 22 CreateDelaunayCandidateSet.o CreateNNCandidateSet.o \ 23 Create_POPMUSIC_CandidateSet.o CreateQuadrantCandidateSet.o \ 24 Delaunay.o Distance.o Distance_SPECIAL.o eprintf.o ERXT.o \ 25 Excludable.o Exclude.o FindTour.o FixedOrCommonCandidates.o \ 26 Flip.o Flip_SL.o Flip_SSL.o Forbidden.o FreeStructures.o \ 27 fscanint.o Gain23.o GenerateCandidates.o Genetic.o \ 28 GeoConversion.o GetTime.o GreedyTour.o Hashing.o Heap.o \ 29 IsBackboneCandidate.o IsCandidate.o IsCommonEdge.o \ 30 IsPossibleCandidate.o KSwapKick.o LinKernighan.o LKHmain.o \ 31 Make2OptMove.o Make3OptMove.o Make4OptMove.o Make5OptMove.o \ 32 MakeKOptMove.o MergeTourWithBestTour.o MergeWithTourIPT.o \ 33 Minimum1TreeCost.o MinimumSpanningTree.o NormalizeNodeList.o \ 34 NormalizeSegmentList.o OrderCandidateSet.o PatchCycles.o \ 35 printff.o PrintParameters.o \ 36 Random.o ReadCandidates.o ReadEdges.o ReadLine.o \ 37 ReadParameters.o ReadPenalties.o ReadProblem.o RecordBestTour.o \ 38 RecordBetterTour.o RemoveFirstActive.o \ 39 ResetCandidateSet.o RestoreTour.o SegmentSize.o Sequence.o \ 40 SFCTour.o SolveCompressedSubproblem.o \ 41 SolveDelaunaySubproblems.o SolveKarpSubproblems.o \ 42 SolveKCenterSubproblems.o SolveKMeansSubproblems.o \ 43 SolveRoheSubproblems.o SolveSFCSubproblems.o SolveSubproblem.o \ 44 SolveSubproblemBorderProblems.o SolveTourSegmentSubproblems.o \ 45 Statistics.o StoreTour.o SymmetrizeCandidateSet.o \ 46 TrimCandidateSet.o WriteCandidates.o WritePenalties.o \ 47 WriteTour.o MergeWithTourGPX2.o gpx.o 48 49OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ)) 50 51$(ODIR)/%.o: %.c $(DEPS) 52 $(CC) -c -o $@ $< $(CFLAGS) 53 54.PHONY: 55 all clean 56 57all: 58 $(MAKE) LKH 59 60LKH: $(OBJ) $(DEPS) 61 $(CC) -o ../LKH $(OBJ) $(CFLAGS) -lm 62 63clean: 64 /bin/rm -f $(ODIR)/*.o ../LKH *~ ._* $(IDIR)/*~ $(IDIR)/._* 65
エラー
C
1"C:\Program Files (x86)\GnuWin32\bin\make.exe" -f C:/workspace/kaggle/santa/LKH-2.0.9/Makefile all 2C:/Program Files (x86)/GnuWin32/bin/make -C SRC all 3make[1]: ディレクトリ `C:/workspace/kaggle/santa/LKH-2.0.9/SRC' に入ります 4C:/Program Files (x86)/GnuWin32/bin/make LKH 5make[2]: ディレクトリ `C:/workspace/kaggle/santa/LKH-2.0.9/SRC' に入ります 6gcc -c -o OBJ/Activate.o Activate.c -O3 -Wall -IINCLUDE -DTWO_LEVEL_TREE -g 7make[2]: ディレクトリ `C:/workspace/kaggle/santa/LKH-2.0.9/SRC' から出ます 8process_begin: CreateProcess(NULL, gcc -c -o OBJ/Activate.o Activate.c -O3 -Wall -IINCLUDE -DTWO_LEVEL_TREE -g, ...) failed. 9make[1]: ディレクトリ `C:/workspace/kaggle/santa/LKH-2.0.9/SRC' から出ます 10make (e=2): 指定されたファイルが見つかりません。 11make[2]: *** [OBJ/Activate.o] エラー 2 12make[1]: *** [all] エラー 2 13make: *** [all] エラー 2
ファイル構成
C
1LKH-2.0.9 2│ E3k.0.par 3│ E3k.0.pi 4│ E3k.0.tsp 5│ Makefile 6│ pr2392.par 7│ pr2392.tsp 8│ README.txt 9│ xray14012_1.par 10│ xray14012_1.tsp 11│ 12├─.idea 13│ encodings.xml 14│ LKH-2.0.9.iml 15│ misc.xml 16│ modules.xml 17│ workspace.xml 18│ 19├─DOC 20│ LKH-2_USER_GUIDE.pdf 21│ LKH_Genetic.pdf 22│ LKH_REPORT.pdf 23│ POPMUSIC_REPORT.pdf 24│ TSPLIB_DOC.pdf 25│ 26└─SRC 27 │ Activate.c 28 │ AddCandidate.c 29 │ AddExtraCandidates.c 30 │ AddTourCandidates.c 31 │ AdjustCandidateSet.c 32 │ AdjustClusters.c 33 │ AllocateStructures.c 34 │ Ascent.c 35 │ Best2OptMove.c 36 │ Best3OptMove.c 37 │ Best4OptMove.c 38 │ Best5OptMove.c 39 │ BestKOptMove.c 40 │ Between.c 41 │ Between_SL.c 42 │ Between_SSL.c 43 │ BridgeGain.c 44 │ BuildKDTree.c 45 │ C.c 46 │ CandidateReport.c 47 │ ChooseInitialTour.c 48 │ Connect.c 49 │ CreateCandidateSet.c 50 │ CreateDelaunayCandidateSet.c 51 │ CreateNNCandidateSet.c 52 │ CreateQuadrantCandidateSet.c 53 │ Create_POPMUSIC_CandidateSet.c 54 │ Delaunay.c 55 │ Distance.c 56 │ Distance_SPECIAL.c 57 │ eprintf.c 58 │ ERXT.c 59 │ Excludable.c 60 │ Exclude.c 61 │ FindTour.c 62 │ FixedOrCommonCandidates.c 63 │ Flip.c 64 │ Flip_SL.c 65 │ Flip_SSL.c 66 │ Forbidden.c 67 │ FreeStructures.c 68 │ fscanint.c 69 │ Gain23.c 70 │ GenerateCandidates.c 71 │ Genetic.c 72 │ GeoConversion.c 73 │ GetTime.c 74 │ gpx.c 75 │ GreedyTour.c 76 │ Hashing.c 77 │ Heap.c 78 │ IsBackboneCandidate.c 79 │ IsCandidate.c 80 │ IsCommonEdge.c 81 │ IsPossibleCandidate.c 82 │ KSwapKick.c 83 │ LinKernighan.c 84 │ LKHmain.c 85 │ Make2OptMove.c 86 │ Make3OptMove.c 87 │ Make4OptMove.c 88 │ Make5OptMove.c 89 │ Makefile 90 │ MakeKOptMove.c 91 │ MergeTourWithBestTour.c 92 │ MergeWithTourGPX2.c 93 │ MergeWithTourIPT.c 94 │ Minimum1TreeCost.c 95 │ MinimumSpanningTree.c 96 │ NormalizeNodeList.c 97 │ NormalizeSegmentList.c 98 │ OrderCandidateSet.c 99 │ PatchCycles.c 100 │ printff.c 101 │ PrintParameters.c 102 │ Random.c 103 │ ReadCandidates.c 104 │ ReadEdges.c 105 │ ReadLine.c 106 │ ReadParameters.c 107 │ ReadPenalties.c 108 │ ReadProblem.c 109 │ RecordBestTour.c 110 │ RecordBetterTour.c 111 │ RemoveFirstActive.c 112 │ ResetCandidateSet.c 113 │ RestoreTour.c 114 │ SegmentSize.c 115 │ Sequence.c 116 │ SFCTour.c 117 │ SolveCompressedSubproblem.c 118 │ SolveDelaunaySubproblems.c 119 │ SolveKarpSubproblems.c 120 │ SolveKCenterSubproblems.c 121 │ SolveKMeansSubproblems.c 122 │ SolveRoheSubproblems.c 123 │ SolveSFCSubproblems.c 124 │ SolveSubproblem.c 125 │ SolveSubproblemBorderProblems.c 126 │ SolveTourSegmentSubproblems.c 127 │ Statistics.c 128 │ StoreTour.c 129 │ SymmetrizeCandidateSet.c 130 │ TrimCandidateSet.c 131 │ WriteCandidates.c 132 │ WritePenalties.c 133 │ WriteTour.c 134 │ 135 ├─INCLUDE 136 │ Delaunay.h 137 │ GainType.h 138 │ Genetic.h 139 │ GeoConversion.h 140 │ gpx.h 141 │ Hashing.h 142 │ Heap.h 143 │ LKH.h 144 │ Segment.h 145 │ Sequence.h 146 │ 147 └─OBJ 148
CC = cmd \C gccとした結果
以下の様なエラーが出ており、上手くコンパイルできていないと思われます。
OBJフォルダの中も空となっています。
どなたかご教授願います。
C
1"C:\Program Files (x86)\GnuWin32\bin\make.exe" -f C:/workspace/kaggle/santa/LKH-2.0.9/SRC/Makefile all 2C:/Program Files (x86)/GnuWin32/bin/make LKH 3make[1]: ディレクトリ `C:/workspace/kaggle/santa/LKH-2.0.9/SRC' に入ります 4cmd \C gcc -c -o OBJ/Activate.o Activate.c -O3 -Wall -IINCLUDE -DTWO_LEVEL_TREE -g 5Microsoft Windows [Version 10.0.17134.472] 6(c) 2018 Microsoft Corporation. All rights reserved.
Activate.oしかコンパイルが実行されていない様に見える
CC = cmd \C gccとした結果を見ると、エラーも出ず問題なく実行されている様に見えます。
ただ実行すると、実行し続けている状態になっており、停止しませんでした。
また、Activate.oのほかにも大量の.oファイルが有るのに実行されず、一つ目のActivate.oのコンパイルで停止しているのが何故なのか分かりません。文字コードはUTF-8となっています。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/24 01:36