当前位置: 首页 > 面试题库 >

用于从现有文件创建(.so)文件的makefile

蒋浩
2023-03-14
问题内容

我有4个文件: 1.C升·小时2.C2.H
。我需要一个makefile,它将从这4个文件中创建一个动态库(.so)。我试图写一个像这样的makefile文件:

library.so:1.c 1.h 2.c 2.h

但它没有用。如果有人帮助我,太好了,谢谢。


问题答案:

就像是

 CC=gcc
 CFLAGS= -Wall -g -O -fPIC
 RM= rm -f
 .PHONY: all clean

 all: library.so
 clean:
      $(RM) *.o *.so

 library.so: 1.o 2.o
      $(LINK.c) -shared $^ -o $@

 1.o: 1.c 1.h 2.h

 2.o: 2.c 1.h 2.h

但这未经测试!我假设Linux使用GNU
make
,并且目录仅包含您的库的源代码(带有上面的Makefile),这可能不是一个好习惯-
您可能需要一个测试用例-(您可能有一个特殊的Makefile规则,%.pic.o取决于%.c,等等…)

提示:用于make -p了解内置规则。然后make --trace或(使用remake)remake -x进一步了解make 正在做什么。



 类似资料:
  • 问题内容: 我正在尝试为Linux动态库(.so文件)创建一个hello world项目。所以我有一个文件hello.c: 如何在命令行中使用gcc 创建导出的.so文件? 问题答案: 要生成共享库,您首先需要使用(位置无关代码)标志编译C代码。 这将生成一个目标文件(.o),现在您将其创建并创建.so文件: 编辑 :来自评论的建议: 您可以使用

  • 问题内容: 我已经阅读了Node.js的文档,除非我错过了一些内容,否则它不会告诉某些操作(特别是)中包含哪些参数。正如您在文档中看到的那样,它不是很多。 当前,我有以下代码,该代码尝试创建一个文件夹或使用现有的文件夹: 但是我想知道这是正确的方法吗?检查代码是否正确知道文件夹已存在?我知道我可以在创建目录之前执行此操作,但这已经是对文件系统的两次打击。 其次,是否有Node.js的完整或至少更详

  • 问题内容: 我是Scala的新手,也不了解Java。我想从一个简单的Scala文件中创建一个jar文件。所以我有了我的HelloWorld.scala,生成了一个HelloWorld.jar。 Manifest.mf: 在控制台中,我运行: 问题答案: 示例目录结构: HelloWorld.scala: MANIFEST.MF: build.bat: 为了成功使用 -jar 开关,您需要在 MET

  • 我已经阅读了Node.js的文档,除非我遗漏了什么,否则它不会告诉某些操作中的参数包含什么,特别是。正如您在文档中看到的,这并不是很多。 其次,Node.js是否有完整的或至少更详细的文档,其中包含关于错误对象包含什么、参数表示什么等细节。

  • 我正在创建一个excel文件从一个现有的excel文件与一些变化在新的文件,如添加徽标到头,改变打印相关的格式。我使用的是Apache POI版本3.15。我正在使用xlsx文件。现有文件有757行47列,文件大小为294KB。结果文件为630KB。但大约需要5分钟。我不确定我做错了什么。如有任何建议,我们将不胜感激。下面是我正在使用的方法和代码: > 打开模板文件进行输出(所需时间可忽略不计)

  • 我在用Pandas将。txt文件转换为浮动值的数据目录时遇到了麻烦。我需要创建两列数据的散点图,但我一直得到错误“TypeError:Empty'DataFrame':no numeric data to plot”,所以我认为它是以字符串的形式读取数据。 下面是我运行df.info时得到的结果 列u_Vmag和u_B-V中没有任何测量值。 我觉得我只是错过了一些显而易见的东西。有人有什么建议吗?