当前位置:  技术问答>linux和unix

问个Makefile引用开源库文件的问题。。

    来源: 互联网  发布时间:2017-03-10

    本文导语:  现有开源代码:Test 该代码所在文件夹位置:不在/usr等系统目录下,假设在d:/Test目录下 Test目录下假设有N个文件夹,比如:文件夹1,2,3,4,5等,每个文件夹下面都有多个头文件和CPP文件,在这个开源项目中,文件...

现有开源代码:Test
该代码所在文件夹位置:不在/usr等系统目录下,假设在d:/Test目录下
Test目录下假设有N个文件夹,比如:文件夹1,2,3,4,5等,每个文件夹下面都有多个头文件和CPP文件,在这个开源项目中,文件间互相引用的方式都是系统文件的引用方式,如:#include ,并不是#include "xxx.h"


好了,,现在我来使用这个开源代码

首先,我新建了一个工程,假设在E盘的T1路径下,然后创建一个T1.cpp文件,如下:

#include   //引用Test主目录下的子文件夹1下面的1.h


int main(void)
{
return 0;

}



好了,然后我在与该.cpp同目录下写个Makefile,如下:

VPATH = d/Test/
objects = T1.o


test : $(objects)
g++ -g -o    T1 $(objects) 


.PHONY : clean
clean :
-rm edit $(objects)



然后make

结果提示找不到那个文件。。

我想我肯定是makefile写的有问题,如何把d:/Test这个非系统目录给包含进来????这个makefile到底该怎么写??我找了太多的资料我始终不知道该怎么写,求教

|
vpath 不是为#include 而存在的。
只能在 编译时 加-Ixxpath才可以的,比如2楼的。

如果你的头不在标准库头位置,必须一个个指定。



|
#include 

int main(void)
{
    return 0;

}

然后你的makefile当中,
INCLUDE_PATH += d:test1

test : $(objects)
    g++ -g -o T1 $(objects) -I$(INCLUDE_PATH)
$(objects): T1.cpp
    $(CXX) -I$(INCLUDE_PATH) -c -o $@ $

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Makefile中引用变量时大括号和小括号有啥区别?
  • LINUX下的Makefile中如何引用系统文件????
  • 关于makefile的问题:如果一个目标的两个以上的依赖文件都需要引用相同的库函数该怎么写?
  • Linux的makefile文件中如何引用其他目录县面的头文件
  • Makefile.in,Makefile.am,Makefile.bor应该怎么用?
  • makefile.am和makefile.in是什么文件,与makefile有什么联系吗?
  • 最近在学习linux C 看到了makefile部分,觉得makefile的语法很难理解,Makefile 的语法是不是shell语法?
  • 求解makefile问题,makefile.conf的作用?
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 编程语言 iis7站长之家
  • makefile如何调用文件目录下的makefile
  • 请教根据Makefile.am自动生成Makefile的问题
  • 怎麼樣使Makefile.in生成Makefile?
  • 【急!】一个程序里有好多文件夹里都有Makefile,如何找到最管用的makefile
  • 【makefile使用】请问怎样在shell中获取makefile的最终目标?
  • unix下面make makefile文件,提示“makefile is up-to-date",怎么办呀?
  • Makefile使用遇到的问题!"Makefile:3:missing the separator.stop"在线等待.......
  • Makefile是如何输出执行的路径的,表示执行的是那个Makefile
  • 下的tar.gz源码里只有makefile.in和makefile.am
  • 一句 makefile 的解释 -- makefile 与 shel 结合
  • linux makefile error :Makefile:335: *** commands commence before first target。
  • [test@localhost ~]$ cat <makefile >catfile 跟cat > catfile <makefile是一样的吧?
  • 关于makfile,makefile.in, makefile.am. configure之间的关系
  • win32下编译Linux 下的项目(makefile.am和makefile.in)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3