我在Eclipse中使用Autotools开发了一个C项目,所有内容都编译好并运行良好。那就是“原创” Makefile.am
bin_PROGRAMS = MyProgram_@PACKAGE_VERSION@
MyProgram_@PACKAGE_VERSION@_SOURCES = \
MyProgram.c
include_HEADERS =
MyProgram_@PACKAGE_VERSION@_CFLAGS = -Wall \
-I$(top_srcdir)/src/include \
-I$(top_srcdir) \
-I$(prefix)/include
MyProgram_@PACKAGE_VERSION@_LDFLAGS = \
-L$(prefix)/lib \
-lLibrary1\
-lLibrary2\
-lLibraryN
AM_CFLAGS = @MyProgram_@PACKAGE_VERSION@_CFLAGS@
AM_LDFLAGS = @MyProgram_@PACKAGE_VERSION@_LIBS@
CLEANFILES = *~
当我想在安装时为我的二进制文件创建符号链接时,问题就开始了。
谷歌搜索我发现最好的方法是将install-exec-hook规则添加到我的 Makefile.am ,从根本上我将这行代码添加到Makefile中,正如此处https://www.gnu.org/software/automake/manual/html_node/Extending.html#Extending
所述install-exec-hook: \
ln -s $(DESTDIR)$(bindir)/MyProgram_@PACKAGE_VERSION@ \
$(DESTDIR)$(bindir)/MyProgram
但是当我运行Make Targets时 - >构建 - >从Eclipse安装我收到错误:没有规则使“install-exec-hook”需要目标“ln”
我试过让事情变得更容易,只是为了测试我是否遗漏了什么,所以我写了
install-exec-hook: echo "TEST"
但我仍然遇到同样的错误。花了几天时间在网上寻找这个问题,但没有任何帮助。
希望有人能做到,非常感谢 安德烈