如何配置针对静态库构建的makefile项目来构建动态库?

时间:2013-12-12 13:39:55

标签: c++ dll makefile static-libraries mingw32

我有一个C ++项目,需要使用静态版本的Qt构建。但是,QtWebKit不会成功静态构建,尽管它确实构建成了一个dll。

我的问题是:如何告诉Makefile使用dll而不是静态库?这似乎应该是一项微不足道的任务,尽管我没有足够的Makefiles经验知道如何做到这一点。提前感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

在使用linux环境的GNU Make中,与静态库链接的过程是

gcc obj1.o obj2.o staticlib.a -o outfile //不考虑包含静态库的路径

并且,与动态库链接是

gcc obj1.c obj2.c -o outfile -labc //动态库是libabc.so,不考虑路径

man的{​​{1}} page我们可以看到,

  • -l链接时搜索名为library的库。搜索的目录包括几个标准系统目录 您使用-L
  • 指定的任何内容
  • -L将目录添加到要搜索的目录列表-l。

请相应更新您的makefile。

干杯!!