makefileを行いたいのですが上手くいきません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: makefileを行いたいのですが上手くいきません

Re: makefileを行いたいのですが上手くいきません

#5

by NAR » 7年前

やってみたら上手くいきました!ありがとうございました!

Re: makefileを行いたいのですが上手くいきません

#4

by かずま » 7年前

適当な Sample13.c と myfunc.h と myfunc.c を用意して、
質問の makefile で nmake を実行すると次のようになりました。

コード:

C:\tmp\Make>nmake

Microsoft(R) Program Maintenance Utility Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl /FeSample.exe Sample13.obj myfunc.obj
Microsoft(R) C/C++ Optimizing Compiler Version 19.10.25019 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) Incremental Linker Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:Sample.exe
Sample13.obj
myfunc.obj
LINK : fatal error LNK1181: 入力ファイル 'Sample13.obj' を開けません。
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86\cl.EXE"' : リターン コード '0x2'
Stop.

C:\tmp\Make>
「"@"が無効と言われファイルを作れません。」というメッセージは出ません。

よく見ると、全部の空行に 1個のスペースがありました。
これらを削除するとビルドできました。

$(CC) の前や del の前などのインデントは、
タブでなくスペースでもよいようですが、
空行にスペースがあるとだめみたいです。

Re: makefileを行いたいのですが上手くいきません

#3

by NAR » 7年前

全てタブに変えてみましたがダメです。

こちらで回答通り書き写すとdelのところに区切り記号が必要、
コピぺで回答を移すと予期しない$(CC)と表示されます

Re: makefileを行いたいのですが上手くいきません

#2

by みけCAT » 7年前

Makefileのインデントは、スペースではなくタブを用いなければいけません。

makefileを行いたいのですが上手くいきません

#1

by NAR » 7年前

Yahoo知恵袋でも同じ質問をし何度か試行したのですが"@"が無効と言われファイルを作れません。


https://detail.chiebukuro.yahoo.co.jp/q ... 2182073967

Visual Studio 2017

コード:


TARGET = Sample.exe

OBJS = Sample13.obj myfunc.obj

CFLAGS = /EHsc

$(TARGET):$(OBJS)
 $(CC) /Fe$@ $**

$(OBJS):myfunc.h

clean:
 del *.obj
 del *.exe


ページトップ