c++ “没有规则来建立目的'install'”...但Makefile存在

ntjbwcob  于 2022-12-01  发布在  其他
关注(0)|答案(5)|浏览(329)

我在安装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.

有什么想法吗?

wswtfjt7

wswtfjt71#

你能提供一个完整的makefile吗?但是现在我可以告诉你-你应该检查“install”目标是否已经存在。

install: (anything there)

行。如果没有,则没有这样的目标,因此make具有权限。可能您应该只使用“make”命令进行编译,然后按原样使用它或自己手动安装。
安装不是任何标准的制作,它只是一个共同的目标,可以存在,但不是必要的。

n9vozmp4

n9vozmp42#

我收到了同样的错误信息,我的问题是运行命令make install时我不在正确的目录中。
所以你可能没有在正确的目录。

t5fffqht

t5fffqht3#

我也遇到了同样的错误。下面是修复方法:如果您使用的是 Cmake-GUI
1.在Cmake-GUI“文件”菜单中清除加载库的缓存。
1.配置库。
1.生成Unix文件。
如果您错过了第3步:

***没有规则来进行目标安装。停止。

将发生错误。

k4aesqcs

k4aesqcs4#

确保与Makefile位于同一目录中。

9avjhtql

9avjhtql5#

确保您可以

cmake -DCMAKE_INSTALL_PREFIX=/usr ..

相关问题