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

我的makefile有什么问题

    来源: 互联网  发布时间:2016-08-29

    本文导语:  在当前目录下:有目录Lib,目录src,和makefile 目录lib下有 staticLib.H staticLib.C shareLib.C shareLib.H staticLib.H 和 shareLib.H 内容一样,都是: #ifndef _STATIC_LIB_H__ #define _STATIC_LIB_H__ char* getSubStr(char *pSrc, char *pSub); #endif...

在当前目录下:有目录Lib,目录src,和makefile

目录lib下有 staticLib.H staticLib.C shareLib.C shareLib.H

staticLib.H 和 shareLib.H 内容一样,都是:

#ifndef _STATIC_LIB_H__
#define _STATIC_LIB_H__

char* getSubStr(char *pSrc, char *pSub);

#endif

staticLib.C 和 shareLib.C 都是实现getSubStr函数的。


目录src下有:testStatic.C 和 testShare.C
两个文件除了包含的头文件不一样,其它都一样:
#include 
#include 
#include "staticLib.H"

int main(int argc, char **argv)
{
    fprintf(stdout, "This is a test for static libn please input a text string:n");
    char buf[128]= {0};
    fscanf(stdin,"%s", buf);
    char *pattern = "tanzh";
    while(0 != strcmp(buf, "exit"))
    {
        char *pSub = 0;
        if ((pSub = getSubStr(buf, pattern)) != 0)
            fprintf(stdout, "Find result %s:n", pSub);
    }
    return 0;
}

我的makefile内容:

VPATH=./lib

libtarget:libmystatic libmyshare testshare teststatic

testshare:./src/testShare.C 
g++ -L./ -lmyshare ./src/testShare.C -I ./lib -o $@
teststatic:./src/testStatic.C  libmystatic
g++ -static -L./ -lmystatic -I ./lib/ ./src/testStatic.C -o $@
libmystatic:staticLib.o
ar cr libmystatic.a staticLib.o
staticLib.o: staticLib.C staticLib.H
g++ -c ./lib/staticLib.C -o staticLib.o
libmyshare:shareLib.o 
g++ -shared -fPCI -o libmyshare.so shareLib.o

sharelib.o:sharelib.C sharelib.H
g++ -c -o $@ sharelib.C

PHONY:clean
clean:
-rm *.o *.a *.so

运行make 会出错:
大概是 undefined reference to getSubStr(char *, char *)

谁帮我看看哪儿出错了?


另外我还有问题:
VPATH设置的搜索目录对于命令也有效吗? 还是只是对于依赖那一行。
我感觉VPATH好像对这一行无效g++ -c ./lib/staticLib.C -o staticLib.o,所以我写了./lib
而对g++ -c -o $@ sharelib.C有效。
且我这VPATH好像不能设置多个目录。



|
感觉你的依耐关系比较混乱的,估计有问题
testshare:./src/testShare.C
要改为:
testshare:./src/testShare.C libmyshare
只要依耐关系对了,库的路径指定对了,应该不会报错的。



    
 
 

您可能感兴趣的文章:

  • 求解makefile问题,makefile.conf的作用?
  • 请教根据Makefile.am自动生成Makefile的问题
  • Makefile使用遇到的问题!"Makefile:3:missing the separator.stop"在线等待.......
  • 关于makefile的问题。一个makefile如何生成两个可执行文件。
  • 亟待解决的问题!Makefile问题
  • 关于makefile文件的问题
  • makefile include的问题
  • linux中makefile大小写问题
  • 关于多层Makefile编译的问题
  • 初写MAKEFILE遇到问题,麻烦大家帮忙。
  • 多个Makefile合并的问题
  • 急!求助,关于makefile的问题
  • 关于makefile 中NUL报错及遗漏“endif”的问题
  • 用mkmf生成makefile的问题
  • 一个 makefile 问题
  • 问一个Makefile的问题
  • 关于makefile的问题,回的请进
  • makefile 简单问题
  • makefile 1254-004问题
  • Makefile的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Makefile.in,Makefile.am,Makefile.bor应该怎么用?
  • makefile.am和makefile.in是什么文件,与makefile有什么联系吗?
  • 最近在学习linux C 看到了makefile部分,觉得makefile的语法很难理解,Makefile 的语法是不是shell语法?
  • 从网上载了个C++程序的源代码,包含38个.cpp和.h,还有makefile.in和makefile.am两个文件,但无configure和makefile.请问怎么编译?谢谢!
  • 有makefile.am,有 makefine.in 为什么就是没有Makefile?
  • makefile如何调用文件目录下的makefile
  • 怎麼樣使Makefile.in生成Makefile?
  • 【急!】一个程序里有好多文件夹里都有Makefile,如何找到最管用的makefile
  • 【makefile使用】请问怎样在shell中获取makefile的最终目标?
  • unix下面make makefile文件,提示“makefile is up-to-date",怎么办呀?
  • 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)
  • make -f makefile 时提示 Make: Must be a separator on rules line 5. Stop. 为什么,makefile 如下
  • 请问如何写动态的Makefile,或是有什么好的Makefile写法?麻烦分享一下,谢谢
  • Makefile :scripts/Makefile.build:49: *** CFLAGS was changed in "/opt/zaptel-1.4.


  • 站内导航:


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

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

    浙ICP备11055608号-3