- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在试验 makefile...主要是当源文件位于许多目录中时
我有以下情况...
project/src/包含目录 A、B、Main
目录A包含A.h和A.cpp; B包含B.cpp和B.h;和测试包含 test.cpp
A.cpp 包括 A.h; B.cpp包含B.h,Main.cpp包含A.h、B.h
项目/lib 包含 libA.a libB.a
A 和 B 的 Makefile 很好...没问题...我正在从对象创建库和然后将它们复制到 lib 目录中
例如。目录 A 的 makefile,B 的类似文件
all:test
test : A.cpp A.hh
g++ -c A.cpp -o A
ar cru libA.a A.o
cp libA.a pathto/project/lib
I have makefile for Main directory as
all: test
test: test.o
g++ -I.. -L../../lib test.o -o test -lA -lB
test.o : test.cpp
g++ -c test.cpp -o test.o
<p>Everything works fine...only thing that I want to solve is that final executable 'test'
depends on objects from libA and libB, so when A.h or A.cpp or B.h or B.cpp changes, it should be made again
So, I now changed my makefile as
</p><pre><code>
test: test.o ../../libA.a ../../libB.a
g++ -I.. -L../../lib test.o -o test -lA -lB
</code></pre><p></p>
<p>Now, problem is how I can modify this so that it will make test again only when its
dependencies are newer than the 'test'.
There is no direct rule to make libA and libB, which Makefile requires and complains about;
since I am copying these libs from directory A and B into directory project/lib.</p>
<p>So, I guess one solution would be to call make in respective directory A and B when anything is new than 'test' but how do I exactly do that ? Or, any other better solution is appreciated.</p>
<p>Thanks a lot :)</p>
<p>EDIT</p>
<p>Here what I did and it solved the problem</p>
<p></p><pre>.PHONY : libA libB<p></p>
<p>../../libA.a : libA
libA :
cd pathtoDirA; $(MAKE)</p>
<p>../../libB.a : libB
libB :
cd pathtoDirB; $(MAKE)
</p></pre>
最佳答案
您确实需要添加一个知道如何生成 libA 和 libB 的规则,然后将来自测试的依赖项添加到该规则上。该规则可以在该目录中调用 make(递归 make),或者显式编码用于在您的 makefile 中构建库的规则。第一个更传统,也很容易理解。它几乎适用于您在现场遇到的所有情况,但也有一些 potential issues如果您有更复杂的build设置,就会出现这种情况(无论如何我可能会选择它,因为它更简单)。
关于c++ - Makefile,源码在多个目录,依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1161582/
前言 在上一篇随笔中,我们探讨了如何使用 Netty 处理自定义协议中的粘包和拆包问题。Netty 提供了高度封装的 API,帮助开发者轻松应对这一挑战,因此很多人都对其解决方案非常熟悉。 但如果
前言 在上一篇随笔中,我们探讨了如何实现一套自定义通信协议,其中涉及到的粘包和拆包处理最初是完全自定义实现的,后来则改为了继承 ByteToMessageDecoder 来简化处理。 本篇将重点讨
ACO.Visualization项目 本项目演示蚁群算法求解旅行商问题的可视化过程,包括路径上的信息素浓度、蚁群的运动过程等。项目相关的代码:https://github.com/anycad/A
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我需要用Sql数据库制作并包含的PHP票务系统源码用户客户端和管理员。我需要个人 CMS 的这个来源。谢谢你帮助我。 最佳答案 我在不同的情况下使用了 osticket。 这里: http://ost
我的场景:我想在日志文件中写入发生异常的部分代码(例如,发生异常的行前 5 行和行后 5 行 - 或者至少是该方法的所有代码)。 我的想法是用 C# 代码反编译 pdb 文件,并从该反编译文件中找到一
RocketMQ设定了延迟级别可以让消息延迟消费,延迟消息会使用 SCHEDULE_TOPIC_XXXX 这个主题,每个延迟等级对应一个消息队列,并且与普通消息一样,会保存每个消息队列的消费进度
先附上Hystrix源码图 在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和
此篇博客学习的api如标题,分别是: current_url 获取当前页面的url; page_source 获取当前页面的源码; title 获取当前页面的titl
? 1 2
1、前言 作为一个数据库爱好者,自己动手写过简单的sql解析器以及存储引擎,但感觉还是不够过瘾。<<事务处理-概念与技术>>诚然讲的非常透彻,但只能提纲挈领,不能让你
gory"> 目录 运行时信号量机制 semaphore 前言 作用是什么 几个主要的方法 如何实现
自己写的一个评论系统源码分享给大家,包括有表情,还有评论机制。用户名是随机的 针对某一篇文章进行评论 function subcomment() {
一、概述 StringBuilder是一个可变的字符串序列,这个类被设计去兼容StringBuffer类的API,但不保证线程安全性,是StringBuffer单线程情况下的一个替代实现。在可能的情
一、概述 System是用的非常多的一个final类。它不能被实例化。System类提供了标准的输入输出和错误输出流;访问外部定义的属性和环境变量;加载文件和库的方法;以及高效的拷贝数组中一部分元素
在JDK中,String的使用频率和被研究的程度都非常高,所以接下来我只说一些比较重要的内容。 一、String类的概述 String类的声明如下: public final class Str
一、概述 Class的实例代表着正在运行的Java应用程序的类和接口。枚举是一种类,而直接是一种接口。每一个数组也属于一个类,这个类b被反射为具有相同元素类型和维数的所有数组共享的类对象。八大基本树
一、概述 Compiler这个类被用于支持Java到本地代码编译器和相关服务。在设计上,这个类啥也不做,他充当JIT编译器实现的占位符。 放JVM虚拟机首次启动时,他确定系统属性java.comp
一、概述 StringBuffer是一个线程安全的、可变的字符序列,跟String类似,但它能被修改。StringBuffer在多线程环境下可以很安全地被使用,因为它的方法都是通过synchroni
一、概述 Enum是所有Jav中枚举类的基类。详细的介绍在Java语言规范中有说明。 值得注意的是,java.util.EnumSet和java.util.EnumMap是Enum的两个高效实现,
我是一名优秀的程序员,十分优秀!