在用make命令编译makefile时,只生成.o文件。却没能生成。so文件,求高人指点? [问题点数:40分,结帖人lzyloft]

Bbs1
本版专家分:0
结帖率 100%
Bbs3
本版专家分:529
Bbs1
本版专家分:0
Bbs1
本版专家分:0
cmakemake找不到.so文件
-
make命令makefile文件
本人在学习<em>make</em>及制作<em>make</em>file<em>文件</em>时,做的笔记,希望大家能够快速掌握这个东东。linux的<em>命令</em>太多了,不做笔记是不行的啊!
make命令makefile文件
多个源<em>文件</em>带来的问题比如三个头<em>文件</em>a.h b.h c.h;三个C源<em>文件</em>main.c 2.c 3.c;/* main.c */ #include "a.h" .../* 2.c */ #include "a.h" #include "b.h" .../* 3.c */ #include "b.h" #include "c.h" 如果只修改了头<em>文件</em>c.h,则源<em>文件</em>main.c和2.c无需重新<em>编译</em>,因为他
make命令makefile文件
一、多个源<em>文件</em>带来的问题在编写c/c++测试程序时,我们习惯每次修改一处代码,然后就马上<em>编译</em>运行来查看运行的结果。这种<em>编译</em>方式对于小程序来说是没有多大问题的,可对于大型程序来说,由于包含了大量的源<em>文件</em>,如果每次改动一个地方都需要<em>编译</em>所有的源<em>文件</em>,这个简单的直接<em>编译</em>所有源<em>文件</em>方式对程序员来说简直是噩耗。 我们看一个例子:// main.c #include "a.h"// 2.c #include
生成.so的makefile
# # Simple .so Makefile # CC      := gcc LD      := ld CFLAGS  := LDFLAGS := -shared -fpic SOURCE  := $(wildcard *.c) OBJS    := $(patsubst %.c,%.o,$(SOURCE)) TARGET_LIB := x.so all:$(OBJS)
linux下Makefile用法(基础)
掌握<em>make</em>的用法,Makefile的内容,能在linux下C++编程。
makefile 生成多个 .o文件
led.bin: start.o clock.o led.o arm-linux-ld -Ttext 0 -o led.elf start.o clock.o led.o arm-linux-objcopy -O binary led.elf led.bin arm-linux-objdump -D led.elf > led.dis %.o : %.S arm-linux-gcc -o
makefile %.o:%.c
下面这个例子表示了,把所有的[.c]<em>文件</em>都<em>编译</em>成[.o]<em>文件</em>. %.o : %.c $(CC) -c $(CFLAGS) $(CPPFLAGS) $
makefile中删除不掉*.o文件的问题
记录自己的一个小智障 如图一个简单的<em>make</em>file main:main.o add.o sub.o mux.o div.o gcc main.o add.o sub.o mux.o div.o -o main main.o:main.c add.h sub.h mux.h div.h gcc -c main.c -o main.o add.o:add.c add.h gcc -c add....
SPEC2006编译,生成so文件
1. 安装 $ sh install.sh -d /work/speccpu/ $ source shrc $ cd config $ cp Example-linux-ia64-gcc.cfg my.cfg 修改 my.cfg 中MYPATH为gcc的目录 该<em>文件</em>配置好后,运行以下<em>命令</em><em>编译</em>bzip2 benchmark, $ runspec --config=my.cfg --action=b...
Makefile 编写(make命令编译
显示规制#hello 输出目标 #gcc hello.c -o hello <em>编译</em>规则 # <em>编译</em>规则 TAB 空格 hello: gcc hello.c -o hello hello : 依赖的目标的是空 ,每一次<em>编译</em>用 hello 和当前目录下 hello <em>文件</em>进行比较显示规则 (明白写出<em>编译</em>规则) 隐示规制 变量 变量=变量值 TAR=hel
dll文件和so文件生成
我想问一下,我在Windows下面可以用g++<em>生成</em>so<em>文件</em>么?rnrn一个C++的动态链接库<em>生成</em>是根据什么来<em>生成</em>的,<em>编译</em>器还是操作系统?rnrn是g++来判断系统是Windows还是Unix,然后<em>生成</em>对应的<em>文件</em>,这样理解对吗? 还是说g++有windows版本的和unix版本的.亦或者说是传一个参数就可以了?
通用Makefile,编译生成
新建一个Makefile<em>文件</em>,把下面内容拷过去,项目里直接用<em>make</em><em>命令</em>就okay <em>make</em> <em>make</em> clean CC = g++ CFLAGS = -pthread TARGET = TEST DIRS = . FILES = $(foreach dir, $(DIRS), $(wildcard $(dir)/*.cpp)) OBJS = $(patsubst %.cpp, %.o, $(...
Shell脚本——make命令和Makefile文件
<em>make</em><em>命令</em>是一个常用的<em>编译</em><em>命令</em>,尤其在C/C++开发中,<em>make</em><em>命令</em>通过<em>make</em>file<em>文件</em>中描述源程序之间的依赖关系进行自动<em>编译</em>; <em>make</em>file<em>文件</em>是按照规定格式编写,需说明如何<em>编译</em>各个源<em>文件</em>并连接<em>生成</em>可执行<em>文件</em>,并要求定义源<em>文件</em>之间的依赖关系; 首次执行<em>make</em><em>命令</em>时,<em>编译</em>所有相关<em>文件</em>,之后再执行<em>make</em><em>命令</em>时,以增量方式进行<em>编译</em>,即只对修改的源<em>文件</em>相关的目标<em>文件</em>进行<em>编译</em>; 注:许
make: *** [http-push.o] Error 1
<em>make</em>: * [http-push.o] Error 1 yum update curl libcurl  yum -y install libcurl-devel.x86_6  yum -y install expat-devel.x86_64
教你写Makefile(很全,含有工作经验的)
Makefile 值得一提的是,在Makefile中的<em>命令</em>,必须要以[Tab]键开始。 什么是<em>make</em>file?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,<em>make</em>file还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的...
makefile编译命令
<em>编译</em>: 直接输入<em>命令</em>:<em>make</em>,默认<em>编译</em>的是名称为:Makefile 如果需要<em>编译</em>其他名称,则加上-f: <em>make</em> -f Makefile_so 清除: <em>make</em> -fMakefile_so clean
Ubuntu——Makefile文件make命令
<em>make</em><em>命令</em>是一个常用的<em>编译</em><em>命令</em>,尤其在C/C++开发中,<em>make</em><em>命令</em>通过<em>make</em>file<em>文件</em>中描述源程序之间的依赖关系进行自动<em>编译</em>; <em>make</em>file<em>文件</em>是按照规定格式编写,需说明如何<em>编译</em>各个源<em>文件</em>并连接<em>生成</em>可执行<em>文件</em>,并要求定义源<em>文件</em>之间的依赖关系; Makefile 是和 <em>make</em> <em>命令</em>一起配合使用的. 很多大型项目的<em>编译</em>都是通过 Makefile 来组织的, 如果没有 Makefil...
makefile 规则之---make命令-编译,依赖关系
<em>make</em><em>命令</em>的核心是找依赖性,<em>make</em><em>命令</em>会一层又一层地区找<em>文件</em>的依赖关系,知道最终<em>编译</em>出目标<em>文件</em>,在找寻过程中,如果出现错误,比如最后被依赖的<em>文件</em>找不到,那么<em>make</em>就会直接退出,并报错,而对于所定义的<em>命令</em>错误,或者<em>编译</em>不成功,<em>make</em>根本不理,<em>make</em>只管<em>文件</em>的依赖性,即,没有依赖性,就不执行,所以像常见的clean<em>命令</em>,<em>make</em>不会自动执行,     clean:    rm *.o..
AndroidStudio 编译C/C++文件生成SO文件
博客地址:http://blog.csdn.net/krubo1/article/details/50547681
makefile : make clean 时总是重新生成.d文件
[code=python]GXX=g++rnrnCSRCS := $(wildcard ./*.cpp)rnCOBJS = $(patsubst %.cpp,%.o,$(CSRCS))rnCDEPS = $(patsubst %.cpp,%.d,$(CSRCS))rnrnCS_P=testrnall:$(CS_P)rnrn$(CS_P): $(COBJS) $(CDEPS)rn $(GXX) -o $(CS_P) $(COBJS)rnrnsinclude $(CSRCS:.cpp=.d)rnrnrn$(COBJS) : %.o: %.cpprn $(GXX) $< -c -o $@rn$(CDEPS):%.d: %.cpprn $(GXX) -MM $< > $@rnrnclean:rn -rm -f $(COBJS)rn -rm -f $(CDEPS)rn -rm -f $(CS_P)[/code]rn如果程序还没<em>编译</em>,直接敲<em>make</em> clean 就会<em>生成</em>.d <em>文件</em>,然后在删除rn具体如下:rng++ -MM test.cpp > test.drng++ -MM test2.cpp > test2.drng++ -MM hello.cpp > hello.drnrm -f ./hello.o ./test2.o ./test.ornrm -f ./hello.d ./test2.d ./test.drnrm -f testrn如何修改才不会让它<em>生成</em>在删除。
makefile 编译CPP如何能不重新生成.o文件
请问下,<em>make</em>file <em>编译</em>CPP如何能不重新<em>生成</em>.o<em>文件</em>rnhello.c和hellocpp.cpp内容是一样,只是后缀不同。rn<em>make</em>file <em>文件</em>rn-------------------------------rncxxsources = hello.crncxxsourcescpp = hellocpp.cpprnhello: $(cxxsources)rn gcc -c $(cxxsources)rn gcc -o hello $(cxxsources)rnrnhellocpp: $(cxxsourcescpp)rn g++ -c $(cxxsourcescpp)rn g++ -o hello $(cxxsourcescpp)rnrn------------------------------rn如果不修改hello.c的<em>文件</em>。<em>make</em> hello时候。hello.o就不会重新<em>生成</em>rn不管修改或者不修改hellocpp.cpp<em>文件</em>。 <em>make</em> hellocpp 每次hellocpp.o都会重新<em>生成</em>,需要如何设置在不修改hellocpp.cpp源<em>文件</em>下 用<em>make</em> 不重新<em>生成</em>hellocpp.orn
linux下编译工程(使用命令行、Makefile、cmake编译helloworld)
linux环境下<em>编译</em>工程是开发的基础。使用helloworld总结一下基础的<em>编译</em>方法。1.<em>命令</em>行法(在控制台中指定<em>编译</em>器直接<em>编译</em>)步骤如下: (1)新建hello.c并添加内容 (2)选择<em>编译</em>器gcc使用<em>命令</em>gcc hello.c -o helloworld<em>生成</em>可执行<em>文件</em>helloworld <em>命令</em>行主要是指定<em>编译</em>器gcc,源<em>文件</em>名hello.c,<em>生成</em>的可执行<em>文件</em>名helloworld2.使用m
Makefile编写实例(生成so文件
CC = gcc XX = g++ CFLAGS = -Wall -O -g #TARGET = ./msgsql_client PROTOBUF_INC=/usr/local/shipu/mdpserver/libs/protobuf-2.5.0/output/include BOOST_INC=/usr/local/shipu/mdpserver/libs/boost_1_61_0
Linux的.a、.so和.o文件
原文链接 http://blog.csdn.net/chlele0105/article/details/23691147 linux .o,.a,.so         .o,是目标<em>文件</em>,相当于windows中的.obj<em>文件</em>    .so 为共享库,是shared object,用于动态连接的,相当于windows下的dll    .a为静态库,是好多个.o合在
linux下生成.so文件和.a文件
原文链接:http://www.cnblogs.com/tzhangofseu/archive/2011/11/15/2249585.html   linux下<em>生成</em>.so<em>文件</em>和.a<em>文件</em> test.h 1 #ifndef _TEST_H_ 2 #define _TEST_H_ 3 4 void TestA(); 5 void TestB(); 6 7 #endif   t...
makefile经make编译之后的文件不是可执行文件的解决办法
原来的<em>make</em>file<em>文件</em>如下: NVCC := nvcc  NVCCFLAGS := -g -G -std=c++11 -lcudart test: test.cu     $(NVCC) $(NVCCFLAGS) -o $@ $ <em>make</em><em>编译</em>之后<em>生成</em>了<em>文件</em>test,但test没有可执行权限。 更改<em>make</em>file的最后一行内容, NVCC := nvcc  NVCCFL
android工程so文件生成命令
android开发环境:eclipse; ndk版本:r10e (64-bit) <em>生成</em>步骤: 1.使用cmd切换至android工程根目录下; 2.执行指令,$NDK/ndk-build; 若无报错即在项目工程的lib<em>文件</em>夹下<em>生成</em>对应的so<em>文件</em>
jni生成文件编译so文件
1、新建接口<em>文件</em> 2、<em>生成</em>头<em>文件</em> cmd下切换到项目下的bin/classes目录,执行javah ***.ClassName 3、<em>编译</em>cpp<em>文件</em>,<em>生成</em>so<em>文件</em> cmd下切换到项目主目录,执行ndk-build<em>命令</em>(必须保证ndk安装目录已经添加到系统变量path中)
ubuntu编译ffmpeg 生成.so文件
记录<em>编译</em>ffmpeg<em>生成</em>so库的方法。 ==================================================================================== 一、资源配置 1、ubuntu中新建ffmpeg目录 2、下载对应ndk和ffmpeg版本到Ubuntu上 如:android-ndk-r13b-linux-x86_64.zip  ...
c程序编译生成so文件
各位xdjm:rn 我有多个c<em>文件</em>,相互之间可以函数调用,现在我想将它们一起<em>编译</em><em>生成</em>一个so<em>文件</em>,不知道怎么<em>编译</em>?rn 在windows下可以<em>编译</em><em>生成</em>dll<em>文件</em>,<em>编译</em><em>生成</em>so<em>文件</em>是不是一定要在linux环境下进行???在windows下可以吗?rn 还有就是如何<em>编译</em>?有什么<em>编译</em>工具吗?rn 感谢回答!
AS编译c/c++生成so文件
本文讲如何用AndroidStudio<em>生成</em>SO<em>文件</em> 1.新建一个Android项目2.新建一个类,并添加native方法 3.<em>生成</em>class<em>文件</em> 执行Build->Make Project之后,会在项目的app\build\intermediates\classes\debug路径下发现<em>编译</em>成功的项目class<em>文件</em> ,如下图: 4.打开as的<em>命令</em>终端,输入<em>命令</em><em>生成</em>.h<em>文件</em> 输入cd a
第三方开源源代码做成的库文件,动态库,修改了对应的c文件,相应的库文件没有任何更新怎么回事?
linux下的格式化工具,我修改了lib/下的一个c<em>文件</em>,<em>make</em>后,对应的.o<em>文件</em>访问和修改时间被更新了,但是我在c<em>文件</em>所做的任何修改都没有用,是不是我修改对应的c<em>文件</em>,对它的库不影响啊?那我怎么办
自动生成Makefile的全过程详解
备注:(1) auto<em>make</em> 读取 Makefile.am 来产 生 Makefile.in, (2) configure 读取 Makefile.in 来产生 Makefile (3) configure 脚本通常由 autoconf 读取 configure.in 产生 目的就是让程序员只写一个规则:.am<em>文件</em>/或.in<em>文件</em>,就能<em>生成</em>适合各种配置/平台的Makfiles。   auto...
为何没有编译。c文件会自动生成。o文件,这是啥原理,求解答
-
g++生成so动态库文件
<em>编译</em><em>生成</em>so<em>文件</em>: $ g++ src1.cpp src2.cpp -fPIC -shared -o libsrc.so 说明 -fPIC:表示<em>编译</em>为位置独立的代码,不用此选项的话<em>编译</em>后的代码是位置相关的所以动态载入时是通过代码拷贝的方式来满足不同进程的需要,而不能达到真正代码段共享的目的。   -L.:表示要连接的库在当前目录中   -lxxx:<em>编译</em>器
Linux下Makefile的学习笔记以及多级目录下Makefile的编写
一、Make简介: 工程管理器,顾名思义,是指管理较多的<em>文件</em>,Make工程管理器也就是个“自动<em>编译</em>管理器”,这里的“自动”是指它能够根据<em>文件</em>时间戳自动发现更新过的<em>文件</em>而减少<em>编译</em>的工作量,同时,它通过读入Makefile<em>文件</em><em>文件</em>的内容来执行大量的<em>编译</em>工作,Make将只<em>编译</em>改动的代码<em>文件</em>,而不用完全<em>编译</em>。 Makefile<em>文件</em>一般和项目的其他源<em>文件</em>放在同一个目录下。在机器上可以同时存在许多不同的m...
mac+php开发环境编译生成so文件
mac php开发环境<em>编译</em><em>生成</em>的so<em>文件</em>,该版本为php7.3.4,附件包括amqp.so, mongodb.so, redis.so, swoole.so 4个<em>文件</em>,有其它需求的可以留言…… 上传资源所需积分竟然没得设置??
我的makefile只能生成.d文件不能生成.o
有如下的<em>文件</em>结构:rn/app/bin/rn/app/obj/rn/app/include/incl.hrn/app/include/logg.hrn/app/src/main/main.cpprn/app/src/main/main.hrn/app/src/test/test.cppprn/app/src/test/test.hrn/app/src/Makefilern下面是我写的Makefile的内容:rnCXX = g++rnCXXFLAGS = -g -O2 -WallrnINCLHEADER = -I./test -I./main -I../includernMMMD = -MMrnrnRM = /bin/rm -f rnMV = /bin/mv rnrnALLOBJS = main.o test.ornrnMAIN = ./main/rnTEST = ./test/rnOBJDIR = ../obj/rnAPPDIR = ../bin/rnrnOBJS = $(addprefix $(OBJDIR),$(ALLOBJS))rnDEPS = $(patsubst %.o,%.d,$(OBJS))rnrnTARGET = mainrnrn$(APPDIR)$(TARGET) : $(OBJS)rn @echo linking the target and objsrn $(CXX) $(CXXFLAGS) -o $(TARGET) $(OBJS) rn $(MV) $(TARGET) $(APPDIR)rnrn$(OBJDIR)%.d : $(MAIN)%.cpprn @echo building .drn $(CXX) $(CXXFLAGS) $(INCLHEADER) $(MMMD) $< > $@.deprn sed 's,$*.o,\$(OBJDIR)$*.o \$@,g' < $@.dep > $@rn $(RM) $@.deprn$(OBJDIR)%.d : $(TEST)%.cpprn @echo building .drn $(CXX) $(CXXFLAGS) $(INCLHEADER) $(MMMD) $< > $@.deprn sed 's,$*.o,\$(OBJDIR)$*.o \$@,g' < $@.dep > $@rn $(RM) $@.deprnrn-include $(DEPS)rnrnrn.PHONY : cleanrnclean:rn $(RM) $(APPDIR)$(TARGET) $(OBJS) $(DEPS)rnrn为什么我的<em>make</em>file只能<em>生成</em>.d<em>文件</em>不能<em>生成</em>.o??????
AndroidStudio 2.2.3:编译C++文件生成so文件及so文件使用
本篇文章,主要参考AndroidStudio <em>编译</em>C/C++<em>文件</em><em>生成</em>SO<em>文件</em>,但是在学习过程中还是出现了不少问题,所以详细记录一下操作过程。 一、AndroidStudio的NDK下载: 通过file---settings进行下载: 二、新建一个Project: 1、一定要勾选C++这个方框; 2、一直“下一步”即可,在最后含有C++选项时,可勾选下
makefile文件生成
前段时间,学习C,用autoconf和auto<em>make</em><em>生成</em>了一个简单的<em>make</em>file<em>文件</em>。 autoconf是一个用于<em>生成</em>可以自动地配置软件源码包,用以适应多种UNIX类系统的shell脚本工具,其中autoconf需要用到 m4,便于<em>生成</em>脚本。auto<em>make</em>是一个从Makefile.am<em>文件</em>自动<em>生成</em>Makefile.in的工具。为了<em>生成</em>Makefile.in,auto<em>make</em>还需用到per...
linux 下生成makefile文件
在linux下安装xx.tar.gz<em>文件</em>rn步骤 1:tar -vxzf xx.tar.gzrn 2: cd xxrn 3: ./configurern 4: <em>make</em>rn 5: <em>make</em> installrn但是在步骤3时就出现了问题,即./configure,这一步<em>生成</em><em>make</em>file.func、<em>make</em>file.am等<em>make</em>file<em>文件</em>,就是不<em>生成</em><em>make</em>file<em>文件</em>,请问是怎么回事儿。。在线等,谢谢
makefile 可以自动推导生成.o规则
 CC      = gcc  CPP     = g++  RM      = rm -rf ## debug flag  DBG_ENABLE   = 0 ## source file path  SRC_PATH   := . ## target exec file name  TARGET     := exe ## get all source files  S
如何生成android端可用so
此文目的: 1.备忘录,方便自己今后查阅; 2.方便与大家交流和学习。 此文只是对所查阅的资料进行了整理。 说明: 1.以下两种方法在linux系统下或cygwin均可实现,本文是在linux系统下进行环境配置。 2.此文中所用NDK版本:Android-NDK-r6 一.android端so与Linux端so区别 android端处理器是arm处理器,一般PC端Linux系统
makefile编译不同文件夹下文件生成静态库
在不同的<em>文件</em>下:src<em>文件</em>夹中包含.c<em>文件</em>,lib<em>文件</em>夹中包含.h<em>文件</em>,obj<em>文件</em>夹中包含<em>编译</em>过程中<em>生成</em>的.o<em>文件</em>,bin<em>文件</em>夹中包含<em>生成</em>的目标<em>文件</em>和.a<em>文件</em>,代码结构如下: root:~/share/<em>make</em>file$ tree ├── bin │ ├── libfun.a │ └── main ├── include │ └── main.h ├── Makefile ├── o...
makefile编译so库
<em>make</em>file<em>编译</em>so库 在anroid中,会看到很多原生的so库,so即shared library,用cc<em>编译</em>的时候,指定一下-shared的参数即可<em>编译</em>,怎么弄的呢,举个例子 so的<em>生成</em> 还是上一篇博客的程序 vim Makefile all : encode.o cc -shared -o libys.so encode.o encode.o : e...
makefile把一个 .cpp文件和它所依赖的几个 .a(静态库文件 ) 生成一个动态库文件.so
-
makefile的make命令
<em>make</em>file的<em>make</em><em>命令</em>,<em>make</em>file的<em>make</em><em>命令</em>,<em>make</em>file的<em>make</em><em>命令</em>,<em>make</em>file的<em>make</em><em>命令</em>,<em>make</em>file的<em>make</em><em>命令</em>
make命令工具与Makefile
一个工程中的源<em>文件</em>不计其数,其按类型、功能、模块分别放在若干个目录中,要一个一个用简单<em>命令</em>去实现<em>编译</em>链接这是极为繁琐低效的。Makefile实现了自动化<em>编译</em>链接。Makefile定义了一系列规则来指定,哪些<em>文件</em>需要先<em>编译</em>,哪些<em>文件</em>需要重新<em>编译</em>,甚至进行更复杂的功能操作。Makefile已经成为一种在工程方面的<em>编译</em>方法,集成开发环境在底层也是使用Makefile的。写好Makefile后,只需一个m...
生成随机字符串问题,求高人指点
给定一个字符串,如a="abcdefghijk",如何能根据这个字符串中提供的字符随机<em>生成</em>一个12位的字符串?rn求各位给点思路或能提供个范例,谢谢!
CMake方式编译生成so库
在CMake构建工具没有发布之前,都是ndk-build方式来<em>编译</em><em>生成</em>so库,但是ndk-build比较繁琐且容易出错,我们用CMake方式,比较简单,这样我们就可以专注于我们的开发,细心的哥们可能早就注意到了Android Studio创建项目的时候,可以勾选支持这种方式: 看图: 这样是最省事的,我先看下项目都<em>生成</em>了什么特别的东西: CMakeLists.txt 这个是最显眼的<em>文件</em>,
一个简单的Makefile编译所有c代码文件为每个单独程序
一个简单的Makefile<em>编译</em>所有c代码<em>文件</em>为每个单独程序 笔者初学Makefile用来方便<em>编译</em>项目,记录一下,若有问题欢迎指正,<em>文件</em>内容附在文末 本文目的 我在./src/目录下有若干.c<em>文件</em>,想对每个<em>文件</em>均进行<em>编译</em>,中间代码<em>文件</em>*.o存放在./build/obj/下,目标可执行<em>文件</em>放在./build/下 Makefile的工作流程 没有指定输出项目时,Makefile会先在...
Makefile编译多个cpp文件
Makefile<em>编译</em>多个cpp<em>文件</em> 1:首先:用g++<em>编译</em>.cpp<em>文件</em>的方法: 可以直接用: g++ <em>文件</em>名.cpp <em>生成</em>一个名为 “<em>文件</em>名.out” 的可执行<em>文件</em> 其原理为: 先由: g++ -c <em>文件</em>名.cpp:<em>生成</em>一个名为 “<em>文件</em>名.o” 的<em>文件</em> 再由: g++ <em>文件</em>名.o:<em>生成</em>一个名为 “<em>文件</em>名.out” 的可执行<em>文件</em> 另外,可以用: g++ -c <em>文件</em>名.cpp -...
configure文件生成
作为Linux下的程序开发人员,大家一定都遇到过Makefile,用<em>make</em><em>命令</em>来<em>编译</em>自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了。 在本文中,将给大家介绍如何使用autoconf和auto<em>make</em>两个工具来帮助我们自动地<em>生成</em>符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要...
我写的makefile为毛没有生成.o文件
求高手指教。我是边看资料边模仿写的<em>make</em>file,但是没有<em>生成</em>.o<em>文件</em>,是<em>生成</em>到其它目录去了还是没<em>生成</em>呢? ifeq ($(release),1) FLG := -O3 else FLG := -g
生成.o文件失败?
[img=https://img-bbs.csdn.net/upload/201308/01/1375335676_408086.jpg][/img][img=https://img-bbs.csdn.net/upload/201308/01/1375335685_432003.jpg][/img]rn我是用的是Eclipse CDT gcc进行<em>编译</em>,但是错误就只有上面这两个图,没有其他任何提示,由于使用到了第三方的库<em>文件</em>zlib,我怀疑自己导入静态链接库到工程的方式不对,但是又不知道是不是这个,因为之前我用到的另外一个第三方的库openSSL也是这么用的却没有问题。还请路过的大侠帮忙看看,感激不尽!!!
gcc 生成.o文件
怎样设置gcc选项,使gcc可以<em>编译</em>出test.o<em>文件</em>。rnrn我的test.c引用了lib1.a静态库,如果我的test.c中有main函数,用gcc test.c lib1.a -o test.o<em>命令</em>可以<em>生成</em>test.o<em>文件</em>,但是,如果test.c中没有main函数就报“undefined reference to 'main'”
makefile编译生成
我是刚刚毕业的学生,还希望大家不吝赐教。rnrn公司给我一个vs2003的静态库工程,里面已经有<em>make</em>file<em>文件</em>,让我在Solaris编成库。可是<em>make</em>file是以前写的,静态库中又添加了一些新的<em>文件</em>。那么我怎么区别哪些<em>文件</em>是要<em>编译</em>成对象<em>文件</em>再加入库中的呢?不能是所有的*.cpp的<em>文件</em>都要<em>生成</em>*.o然后添加到库<em>文件</em>中?rnrn请高手给一个可以辨别的方法,谢谢。
PB make生成的warning
请教高手:为什么BSP包<em>make</em>时会出现这些警告呢?rnrn虽然无碍于系统,但是总觉得不爽。rnrnWindows CE ROM Image Builder v4.0.000 Copyright (c) Microsoft CorporationrnBuilt: Jun 16 2004 15:09:27rn[color=#0000FF]Warning: Found duplicate entry 'nk.exe NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\kern.exe 00000007' ... skippingrnWarning: Found duplicate entry 'coredll.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\coredll.dll 00000007' ... skippingrnWarning: Found duplicate entry 'filesys.exe NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\filesys.exe 00000007' ... skippingrnWarning: Found duplicate entry 'fatfsd.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\fatfsd.dll 00000007' ... skippingrnWarning: Found duplicate entry 'diskcache.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\diskcache.dll 00000007' ... skippingrnWarning: Found duplicate entry 'fatutil.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\fatutil.dll 00000007' ... skippingrnWarning: Found duplicate entry 'binfs.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\binfs.dll 00000007' ... skippingrnWarning: Found duplicate entry 'fsdmgr.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\fsdmgr.dll 00000007' ... skippingrnWarning: Found duplicate entry 'mspart.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\mspart.dll 00000007' ... skippingrnWarning: Found duplicate entry 'ceddk.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\ceddk.dll 00000007' ... skippingrnWarning: Found duplicate entry 'smflash.dll NK D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\smflash.dll 00000007' ... skipping[/color]rnCopying D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\kern.exe to D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\nk.exe for debuggerrnCopying D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\com_card.dll to D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\serial.dll for debuggerrnCopying D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\sdbus2.dll to D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\sdbus.dll for debuggerrnCopying D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\systemcpl.cpl to D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\system.cpl for debuggerrnCopying D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\s3c2440a_touch.dll to D:\WINCE500\PBWorkspaces\K390\RelDir\smdk2440a_ARMV4I_Release\touch.dll for debugger
C++ 在编译生成O文件时main被多次定义
../obj/bitcoind.o:在函数‘main’中:rnbitcoind.cpp:(.text.startup+0x0): `main'被多次定义rn../obj/bitcoin-cli.o:bitcoin-cli.cpp:(.text.startup+0x0):第一次在此定义rn../obj/bitcoin-tx.o:在函数‘main’中:rnbitcoin-tx.cpp:(.text.startup+0x0): `main'被多次定义rn../obj/bitcoin-cli.o:bitcoin-cli.cpp:(.text.startup+0x0):第一次在此定义rn../obj/bitcoin.o:在函数‘main’中:rnbitcoin.cpp:(.text.startup+0xc0): `main'被多次定义rn../obj/bitcoin-cli.o:bitcoin-cli.cpp:(.text.startup+0x0):第一次在此定义rnrn在<em>生成</em>.o<em>文件</em>时出现错误,该问题是什么原因?怎样解决?
linux下生成的bin文件 在板子上运行出错
-
Makefile中patsubst函数使用方法
Makefile中patsubst函数使用方法
makefile编译生成.a文件(linux静态库),并编译进可执行文件
<em>文件</em>列表: 代码<em>文件</em>/* 下列代码保存到 plus.cpp */int my_plus(int x,int y) { return x + y; } /* 下列代码保存到 minus.cpp */ int my_minus(int x,int y) { return x - y; } /* 下列代码保存到 my_math.h */ int my_pl
新手请教如何通过makefile将当前目录下的所有.c文件编译成.o文件
各位大大们 本人新手,请教大家,如何编写一个Makefile<em>文件</em>,将当前目录下的所有.c<em>文件</em><em>编译</em>成.o<em>文件</em>,当前目录下全部.c<em>文件</em>都是子函数,无main函数。 请各位大大们帮忙解答,谢谢!!
用gcc编译生成动态链接库*.so文件的方法。
linux下<em>文件</em>的类型是不依赖于其后缀名的,但一般来讲: .o,是目标<em>文件</em>,相当于windows中的.obj<em>文件</em> .so 为共享库,是shared object,用于动态连接的,和dll差不多 .a为静态库,是好多个.o合在一起,用于静态连接 .la为libtool自动<em>生成</em>的一些共享库,vi编辑查看,主要记录了一些配置信息。可以用如下<em>命令</em>查看*.la<em>文件</em>的格式   $file *.la
实验8 make命令makefile文件
实验8 <em>make</em><em>命令</em>与<em>make</em>file<em>文件</em>(选做)
linux程序设计:make命令makefile文件
1.<em>make</em>file<em>文件</em>的语法 <em>make</em>file<em>文件</em>由一组依赖关系和规则构成。每个依赖关系有一个目标(即将要创建的<em>文件</em>)和一组该目标所依赖的源<em>文件</em>构成,而规则描述了如何通过这些所依赖的<em>文件</em>创建目标。 内容比较多请参考大神的:http://blog.csdn.net/haoel/article/details/2886
VS.net下怎么生成Make文件??
VS.net下怎么<em>生成</em>Make<em>文件</em>??
android studio编译c生成.so文件
今天练习了用studio<em>编译</em>c<em>生成</em>.so<em>文件</em>。 一、首先是配置NDK(以下是以我自己的路径为例) 二、环境的搭建 设置ndk路径 成功之后我们可以在local.properties<em>文件</em>中看到: 之后还要在gradle.properties<em>文件</em>中添加一行代码:android.useDeprecateNdk=true(否则会报错) 三、J
关于android studio进行NDK编译生成.so文件
在使用android studio进行NDK<em>编译</em>时 在项目的build.gradle的最外层添加以下代码 代码如下: tasks.withType(JavaCompile) { compileTask -> compileTask.dependsOn ndkBuild }task ndkBuild(type: Exec) { workingDir file(‘jni’)
重温android studio jni编译生成so文件
步骤: 1、创建一个android工程 2、<em>编译</em>工程,Buiid->Make Project<em>生成</em>class<em>文件</em> 3、配置NDK 4、创建一个NdkUtil类 5、创建main.c和一个空的c<em>文件</em>empty.c 6、<em>编译</em>工程,<em>生成</em>so<em>文件</em> 7、复制so<em>文件</em>到jniLibs下 8、完成 具体实现: 1、创建一个android工程(这个就不废话了) 2、<em>编译</em>工程,Bui
android studio 中编译C生成.so文件
1.创建一个类Utils(如果为了到时打包jar包,先创建个包名) 2.在gradle.properties<em>文件</em>中加入 android.useDeprecatedNdk=true 3.在Utils中写如native方法,然后在android studio的菜单build—><em>make</em> project public class Utils { //java调C中的方法都需要用
Android 使用 FFmpeg (一)——编译生成.so文件
在android 中如何使用FFmpeg第一步——在Linux环境下<em>编译</em>.so<em>文件</em>
FFmpeg开发之——Ubuntu下编译FFmpeg生成.so文件
前言 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。市面上常见的播放器如:暴风影音、QQ影音、KMP、GOM Player、PotPlayer等都使用了该开源项目。 <em>编译</em> 本文主要讲述在Ubuntu下,使用开源项目FFmpeg<em>编译</em>成.so<em>文件</em>。本...
android ndk开发编译生成so文件
NDK开发,其实是为了项目需要调用底层的一些C/C++的一些东西;另外就是为了效率更加高些。如果你在Eclipse+ADT下开发过NDK就能体会到要么是配置NDK还要下载Cygwin,配置Cygwin ,然后需要<em>编译</em><em>生成</em>,相当的蛋疼。要么是直接用Eclipse开发,但是前期配置也是一堆;真心蛋疼。但是现在在AS上Eclipse能做到的这边都OK,这边有的Eclipse上没有的,而且Google亲生
eclipse用ndk编译生成.so文件
今天帮朋友搞了一天eclipse导入jni项目报错,之前一直以为是C<em>文件</em>写错了,后来发现是ndk一直配置不上,导致一个.so<em>文件</em>一直没<em>生成</em>,<em>编译</em>时找不到 网上Usb Audio项目导入出错 报错为: 03-27 12:18:41.591: E/AndroidRuntime(8831): FATAL EXCEPTION: main 03-27 12:18:41.591: E/Androi
so文件 和 a文件 和 o文件
在unix上<em>编译</em> c++程序,rn这三个<em>文件</em>一直都不是很清楚之间调用关系,特别是<em>编译</em>的时候rn因为我是从java转c++的,rnrn比如 myso目录下<em>make</em>file <em>生成</em>so<em>文件</em>rn myO目录下 <em>make</em>file <em>生成</em>o<em>文件</em>rn myO目录下 <em>make</em>file <em>生成</em>a<em>文件</em>rnrn现在知道myso目录下的程序调用到myO目录下的函数,所以我的理解是<em>编译</em>好myO后,submit,rn然后应该再<em>编译</em>myso目录下的程序,<em>生成</em>so,发布到库目录,这样修改的程序才能正式发布生效。rnrn不知道我理解正确否。thks all!rn
makefile make的时候提示 make[2]: o: Command not found make
<em>make</em>file <em>make</em>的时候提示 <em>make</em>[2]: o: Command not found <em>make</em>[2]: [snmptrap] Error 127 (ignored) rn这是怎么回事呢 向大家求助 以下是源代码rnUSELIBS = ../snmplib/libnetsnmp.a rnUSETRAPLIBS = ../agent/libnetsnmpagent.a ../agent/libnetsnmpmibs.a ../agent/helpers/libnetsnmphelpers.a $(USELIBS)rnLOCAL_LIBS = -L../snmplib -L../agent -L../agent/helpersrnLIBS = $(USELIBS) $(LDLIBS$(LDLIBS_$@))rnTRAPLIBS = $(USETRAPLIBS) $(LDLIBS$(LDLIBS_$@))rnrnCPPFLAGS = -I$(top_srcdir)/include -I../include \rn -I.. -I$(srcdir)/.. -I$(srcdir)/../snmplib \rn -I$(srcdir)/../agent -I../agent/helpers \rn -I$(srcdir)/../agent/mibgrouprnOSUFFIX = ornOBJS = *.ornrnrnsnmptrap$(EXEEXT): snmptrap.$(OSUFFIX) $(USELIBS)rn $(LINK) -o $@ snmptrap.$(OSUFFIX) $(LOCAL_LIBS) $LDFLAGS $LIBS
make 3.8不支持多于255个.o生成.a文件
今天有人发现增加一个.c<em>文件</em>,便无法<em>生成</em>.a了,提示一些错误信息。估计是<em>make</em>的问题,换成老版本不支持分布式的,能成功<em>生成</em>.a<em>文件</em>。后来在gnuwin32.sourceforge.net上下载了一个GNU <em>make</em> for windows 3.81版本的,同时下载了binary中的<em>make</em>.exe和dependices中的两个dll<em>文件</em>,问题解决。不过,我也在想,似乎<em>生成</em>.a调用的是ccarm?...
Glade工程生成makefile文件
教你怎么把glade的工程生产<em>make</em>file<em>文件</em>,然后进行<em>编译</em>,对初学linux下的GUI编程的朋友有帮助
makefile 指定文件生成目录
1.上一篇博客虽然简单实现了自动处理依赖关系,但是<em>生成</em>的各种临时<em>文件</em>都混在一起,太乱了。 假定我们的源<em>文件</em>放在src目录,头<em>文件</em>放在inc目录,.o<em>文件</em>放在obj目录,.d<em>文件</em>放在dmk目录,Makefile和上述4个目录为同一级别。 则定义如下变量: D_SRC = src D_INC = -I./inc D_OBJ = obj D_MK = dmk 2.自动遍历src目录下的所有.c
mpc.pl生成makefile文件的问题
hello.mpcrn[code=C/C++]rnproject(build) : aceexernrn exename = hellorn includes +=$(ACE_ROOT)rn libpaths += $(ACE_ROOT)/librn Source_Filesrn rn hello.cpprn rnrn[/code]rn执行<em>命令</em>mpc.pl -type gnuacern<em>生成</em>GNU<em>make</em>file.lwgrn执行<em>make</em> -f GNU<em>make</em>file.lwgrn显示<em>命令</em>式这样的rng++ -W -Wall -Wpointer-arith -O3 -g -pipe -pipe -DACE_HAS_LINUX_NPTL -D_REENTRANT -DACE_HAS_AIO_CALLS -D_GNU_SOURCE -I/home/lwg/ACE_wrappers -DACE_HAS_EXCEPTIONS -D__ACE_INLINE__ -Wl,-E -L/home/lwg/ACE_wrappers/ace -L./ -L/home/lwg/ACE_wrappers/lib -L. -o hello .obj/hello.o -ldl -lpthread -lrtrnrn<em>编译</em>不过去,可以看出来是少了-lACE选项,所以<em>编译</em>不成功rn我想把 -lACE 也链接进去,改怎么办?是在mpc<em>文件</em>里添加还是在mpc.pl<em>命令</em>里添加?rn
如何生成一个makefile文件
我用Eclipse CDT的managed c++项目写程序,但是偶尔需要在文字界面下<em>编译</em>,请问怎么<em>生成</em>一个<em>make</em>file,我只需要自己<em>make</em>一下就<em>编译</em>好了的<em>文件</em>呢?
使用CMake生成makefile文件
CMake 简介 CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的<em>文件</em>来描述构建过程,可以产生标准的构建<em>文件</em>,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。<em>文件</em> CMakeLists.txt 需要手工编写,也可以通过编写Python脚本进行半自动的<em>生成</em>。CMake 提供了比 au...
Linux MakeFile文件生成步骤
在前面的标准<em>编译</em>安装中,第一步是./configure,它会根据Makefile.in<em>生成</em>Makefile<em>文件</em>,然后<em>make</em>根据Makefile自动<em>编译</em>软件。   通常在一个源码包中,已经包含了configure脚本和Makefile<em>文件</em>,作为课外知识,我们大致了解一下怎么<em>生成</em>这两个<em>文件</em>。   autoconf   autoconf用来<em>生成</em>configure脚本,它可以检查系统特性、
autoconf 和 automake 生成 Makefile 文件
这是我见过的最好的autoconf 和 auto<em>make</em> 的学习文档 从网IBM developWorker上摘录 看完一遍就都清楚了
生成文件makefile)有什么用?
在看WINDOWS编程时,看到<em>生成</em><em>文件</em>的概念。请问一下,<em>生成</em><em>文件</em>(<em>make</em>file)是什么,在什么时候用到,有什么用呢?
Make 命令指定 Makefile 路径
方法 <em>make</em> -C /path/to/dir # 例如 <em>make</em> 上层<em>文件</em>夹下的 Makefile <em>文件</em>的 mingw 目标 <em>make</em> -C .. mingw 参考 https://stackoverflow.com/a/453450/4394850
IDA动态调试之生成so文件
1.配置MainActivity.javapackage xiziyunqi.myapplication;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log;public class MainActivity extends AppCompatActi
小哦你好与系统课件(配套郑君里第二版的)下载
小哦你好与系统课件(配套郑君里第二版的)非常详细,且简单易懂,希望对自学者或者考研复习都有帮助 相关下载链接:[url=//download.csdn.net/download/yinsufang/2846824?utm_source=bbsseo]//download.csdn.net/download/yinsufang/2846824?utm_source=bbsseo[/url]
光纤及其接口相关介绍下载
光纤接口是用来连接光纤线缆的物理接口。其原理是利用了光从光密介质进入光疏介质从而发生了全反射。 相关下载链接:[url=//download.csdn.net/download/chijt8/3451191?utm_source=bbsseo]//download.csdn.net/download/chijt8/3451191?utm_source=bbsseo[/url]
CNC编程语言下载
CNC编程语言说明文档,EXCELLON指令 相关下载链接:[url=//download.csdn.net/download/probert/4949258?utm_source=bbsseo]//download.csdn.net/download/probert/4949258?utm_source=bbsseo[/url]
我们是很有底线的