質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

makefile

make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

2回答

3596閲覧

Makefileを完成させ、makeを実行させたい。

haruio3

総合スコア2

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

make

make は、ビルド作業を自動化するツールです。さまざまなファイルの最終変更時刻を比較し、従属するファイルよりも「ターゲット」のファイルが古いことがわかったときユーザーが設定していた命令を実行する事が可能です。

makefile

make は、プログラムのビルド作業を自動化するツールです。コンパイル、リンク、インストール等のルールを記述したテキストファイルをmakefileと呼び、このルールに従ってmakeが自動的にビルドを実行する。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2020/07/23 06:41

編集2020/07/23 07:51

前提・実現したいこと Makefileを完成しmakeを実行させたい。

ここに質問の内容を詳しく書いてください。
全くの初心者です。AIのデモ機をもらえたので、無謀にも画像認識にチャレンジしています。VM Centos7.6によりユザー開発環境を構築中「サンプルソースのビルド」までたどり着きましたが、Makefile作成でつまずいています。下記のファイルは、AI提供先から示されたファイルですがmakeを打ち込むと下記のエラーが出ます。9行目に問題があるようなのですがviで作成しても、geditで作成しても同じです。コマンドなしになぜディレクトリ名が並んでいるのでしょうか?

### 発生している問題・エラーメッセージ

エラーメッセージ 9行目/opt/intelの前に、スペースを入れると:分離記号を欠いています。Tabを入れるとrecipe commence before first target Stopとエラーが出ます。コマンドなしになぜディレクトリ名が並んでいるのでしょうか?

### 該当のソースコード ```ここに言語名を入力centos7.6 ソースコード UTF-8 ''' ####################################################################################### # # Macro # ####################################################################################### TARGET = libformat_reader.so CPPFILE += /opt/intel/openvino/inference_engine/samples/common/format_reader/format_reader.cpp\ /opt/intel/openvino/inference_engine/samples/common/format_reader/opencv_wraper.cpp\ /opt/intel/openvino/inference_engine/samples/common/format_reader/MnistUbyte.cpp\ /opt/intel/openvino/inference_engine/samples/common/format_reader/bmp.cpp CXX = g++ COMPILEFLAGS += -std=c++11 -shared -fPIC -DUSE_OPENCV ####################################################################################### # # Module's # ####################################################################################### INCLUDE += -I"./."\ -I"/opt/intel/openvino/opencv/include/"\ -I"/opt/intel/openvino/inference_engine/samples/common/"\ -I"/opt/intel/openvino/inference_engine/samples/common/format_reader"\ -I"/opt/intel/openvino/inference_engine/include" ENGINE_LIBS = -L"/opt/intel/openvino/inference_engine/lib/intel64"\ -linference_engine\ -L"/opt/intel/openvino/opencv/lib"\ -lopencv_core -lopencv_imgcodecs -lopencv_videoio ####################################################################################### # # Make execution # ####################################################################################### $(TARGET): $(CXX) -o $@ $(CPPFILE) $(ENGINE_LIBS) $(INCLUDE) $(COMPILEFLAGS) '''

試したこと

インターネット上のエディターアプリにて変更保存したものをmakeしてみましたが同じです。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidezzz

2020/07/23 07:22

提示されているMakefileの内容がそのまま表示されるようにするために前後の行に「```」(バッククォート3文字)を入れてください。質問文は質問者が修正することが出来ます。 ``` Makefileの内容 ```
haruio3

2020/07/23 07:52

「```」(バッククォート3文字)を入れました
hidezzz

2020/07/23 13:14 編集

「```」が余計なところに入っています。 > ですがviで作成しても、geditで作成しても同じです。コマンドなしになぜディレクトリ名が並んでいるのでしょうか? > ``` > ### 発生している問題・エラーメッセージ の部分にある「```」を削除してく下のような状態にしてください。 > ですがviで作成しても、geditで作成しても同じです。コマンドなしになぜディレクトリ名が並んでいるのでしょうか? > ### 発生している問題・エラーメッセージ
guest

回答2

0

ベストアンサー

CPPFILE +=

/opt/intel/openvino/inference_engine/samples/common/format_reader/format_reader.cpp
/opt/intel/openvino/inference_engine/samples/common/format_reader/opencv_wraper.cpp
/opt/intel/openvino/inference_engine/samples/common/format_reader/MnistUbyte.cpp
/opt/intel/openvino/inference_engine/samples/common/format_reader/bmp.cpp

の1行目の行末のバックスラッシュ「\」が抜けています。この「\」は次の行と行が継続していることを表します。
(実際その次の「/opt/intel」で始まる行は最終行を除いて行末に「\」が付いています。)

CPPFILE += \

※バックスラッシュ「\」は環境によっては円記号「¥」(全角で表記していますが実際には半角文字です)で表示されることがあります。

※hana_yama_san さんがコメントで指摘されている修正箇所
もう1箇所「\」が抜けているところがあります。

ENGINE_LIBS = -L"/opt/intel/openvino/inference_engine/lib/intel64"\

-linference_engine
-L"/opt/intel/openvino/opencv/lib"
-lopencv_core -lopencv_imgcodecs ←「\」が抜けてる
-lopencv_videoio

行末に「\」を追加してください。

ENGINE_LIBS = -L"/opt/intel/openvino/inference_engine/lib/intel64"\

-linference_engine
-L"/opt/intel/openvino/opencv/lib"
-lopencv_core -lopencv_imgcodecs
-lopencv_videoio

投稿2020/07/23 07:31

編集2020/07/23 07:48
hidezzz

総合スコア1248

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hana_yama_san

2020/07/23 07:36

おお!!そこでしたか。 ENGINE_LIBSの下から二行目も欠落していますね。
hidezzz

2020/07/23 07:49

あー本当ですね。 回答に追記させていただきました。
haruio3

2020/07/23 07:55

!早速ありがとうございます。帰宅してしまったので明日実行してみます。
haruio3

2020/07/24 01:20

ご指導いただいた2か所を訂正したところ、makeが実行されたようです。ありがとうございました。
guest

0

>>コマンドなしになぜディレクトリ名が並んでいるのでしょうか?

ソースファイル・ヘッダファイル・ライブラリのパスが記載されています。

コマンドは「CXX = g++」で定義して、
「$(TARGET): $(CXX) -o $@ $(CPPFILE) $(ENGINE_LIBS) $(INCLUDE) $(COMPILEFLAGS)」
で、使用しています。

>>9行目/opt/intelの前に、スペースを入れると・・・Tabを入れると

スペースやTabを入れたのは誰ですか?
もしあなたが入れたならmakeが動かなくなるので止めましょう。

投稿2020/07/23 07:18

hana_yama_san

総合スコア923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

haruio3

2020/07/24 01:21

ご指導ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問