1. ホーム
  2. c++

[解決済み] "No rule to make target 'install'"... しかし、Makefileは存在する

2022-01-29 12:23:28

質問

C++のライブラリのインストールで問題が発生しています。その CMake コマンドは成功し、Makefile を生成しますが、警告が表示されます。

CMake Warning (dev) at CMakeLists.txt:27 (LINK_DIRECTORIES):
This command specifies the relative path

../usr/local/lib

as a link directory.

Policy CMP0015 is not set: link_directories() treats paths relative to the
source dir.  Run "cmake --help-policy CMP0015" for policy details.  Use the
cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMakeLists.txt の 27 行目は

Boost_LIBRARY_DIR_DEBUG:PATH=/usr/local/lib

この警告で問題が起こるとは思えません。しかし、make installを実行すると、エラーが発生します。

make: *** No rule to make target `install'.  Stop.

何かアイデアはありますか?

解決方法は?

makefile全体を提供していただけませんか? しかし、今言えることは、"install" ターゲットがすでに存在しているかどうかを確認する必要があるということです。ということで、Makefile に

install: (anything there)

の行になります。そうでなければ、そのようなターゲットは存在しないので、makeが正しいことになります。おそらく、"make" コマンドだけでコンパイルして、そのまま使うか、自分で手動でインストールしたほうがいいと思います。

インストールはmakeの標準ではなく、一般的なターゲットとして存在する可能性がありますが、必要ではありません。