【问题标题】:How to change makefile from making executable to make a shared library如何将makefile从可执行文件更改为共享库
【发布时间】:2014-04-10 16:50:18
【问题描述】:

我有一个开源库,当我运行构建脚本 (.sh) 时会创建一个可执行文件。

我需要在另一个项目中包含库函数,所以我想制作一个 .so 文件(我在 Ubuntu 上运行它)。

这是在makefile 中的什么地方定义的?为了获得 mylib.so 文件,我将如何调整它?

Makefile:

    # ACLOCAL_AMFLAGS = -I m4

AUTOMAKE_OPTIONS = subdir-objects

bin_PROGRAMS = mybin 

MYLIB_SOURCES=\
    src/functions.cpp \

  MYLIB_SOURCES=$(MYLIB_SOURCES)

  MYLIB_CPPFLAGS = -Isrc/include -ggdb $(PTHREAD_CFLAGS)
  MYLIB_LIBS =  $(PTHREAD_LIBS) $(DLIB)

  MYLIB_SOURCES = progsrc/mybin/mybin.cpp 
  MYLIB_CPPFLAGS = $(MYBIN_CPPFLAGS)
  MYLIB_LDADD = $(MYBIN_LIBS) -lmybin

  lib_LTLIBRARIES = mybin.la
  libmybin_la_SOURCES = $(MYBIN_SOURCES)
  libmybin_la_CPPFLAGS = $(MYBIN_CPPFLAGS)
  libmybin_la_LIBADD = $(MYBIN_LIBS)
  libmybin_la_LDFLAGS = --no-undefined

# endif 

谢谢。

【问题讨论】:

  • 不看 Makefile 或代码是不可能给你有用的答案的。
  • 我在帖子中添加了makefile代码结构。我需要在哪里更改它?

标签: c++ shell makefile gnu-make


【解决方案1】:

只需删除这一行:

bin_PROGRAMS = mybin 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 2023-03-15
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2013-07-04
    相关资源
    最近更新 更多