巴特西
首页
Python
Java
PHP
IOS
Andorid
NodeJS
JavaScript
HTML5
makefile编译多个main
【原创】支持同时生成多个main函数 makefile 模板
背景: 去年做项目的时候,由于有需要编译出多个可执行文件的需求,修改了Makefile使其支持生成多个结果(编译多个含有main函数的文件),但总觉得自己的实现不够完美. 今年又遇到这样需求的时候,可在网上找了一圈,发现没有找到能够同时编译得到多个结果的Makefile模板. 目录结构 可以发现,其中,seeker.c 以及 main.c 中都有 main函数,如果按照以往的编译方式,是会引起冲突的 如果将编译的文件写死而引起的不便又违背了make简洁的初衷,那么本人是怎么解决这样的问题的呢?
gcc与makefile编译 BY 四喜三顺
gcc编译控制过程:(假设源代码为a.c)(1)源文件到预处理文件: gcc -E -o a.cxx a.c a.cxx显示调用哪些头文件(2)生成汇编代码: gcc -S -o a.s a.c a.s显示汇编指令(3)生成目标代码: gcc -c -o a.o a.c(4)链接生成可执行文件: gcc a.o -o aa.out gdb调试程序:(1)生成可执行程序: gcc -g -o a.debu
【Linux学习】 写一个简单的Makefile编译源码获取当前系统时间
打算学习一下Linux,这两天先看了一下gcc的简单用法以及makefile的写法,今天是周末,天气闷热超市,早晨突然发现住处的冰箱可以用了,于是先出去吃了点东西,然后去超市买了一坨冰棍,老冰棍居多,5毛钱一根,还有几根1.5的. 嗯 接着说gcc的事 先把源代码贴上来 //gettime.h #ifndef _GET_TIME_H_ #define _GET_TIME_H_ void PrintCurrentTime(); #endif //gettime.c #include <stdio.
C++---初识《通过g++ / makefile 编译和调用动态库so文件》(ubuntu)
C++---初识<通过g++ / makefile 编译和调用动态库so文件>(ubuntu) ------------------------目录----------------------------- 一.通过makefile 编译和调用动态库so文件 二.通过makefile 编译和调用动态库so文件 -------------------------正文---------------------------- 一.通过makefile 编译和调用动态库so文件 1.动态库的编
maven 编译部署src/main/java下的资源文件
maven 编译部署src/main/java下的资源文件 maven默认会把src/main/resources下的所有配置文件以及src/main/java下的所有java文件打包或发布到target\classes下面, 但是现实我们可能会在src/main/java下面也放置一些配置文件如hibernate配置文件或mybatis mapper配置文件等, 如果不做一些额外配置,那我们打包后的项目可能找不到这些必须的资源文件,因此在pom.xml中增加类似如下配置: <build> &
linux makefile 编译多个.c文件 实例
本例由 main.c add.c sub.c add_sub.h 四个文件组成:编写Makefile执行程序 /************************************************************************* > File Name: main.c > Author: > Mail: > Created Time: Tue 25 Jul 2017 10:40:22 AM CST **************************
Linux Makefile 编译速度的优化【转】
转自:https://blog.csdn.net/QQ1452008/article/details/51851801 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ1452008/article/details/51851801 前言 如何提高 Makefile 的编译速度呢?既然是提高,那肯定是对于大项目而言,因为小项目本身源文件不多,Makefile 优化与否,对于编译速度而言,影响并不大.当然对于那些追求速度达到极致的人而言,就另当
live555学习(一)通读Makefile编译live555
live555学习(一)通读Makefile编译live555 live555 编译live555 学习开源 live555学习(一)通读Makefile编译live555 前言 live555简介 下载live555 live的编译 生成Makefile Make的生成目标 前言 拿到一份开源代码,我们应该怎么学习呢,第一次接触的时候面对海量的源码,会有种找不着北的感觉吧.这里我会写下自己的学习过程,以及学习中遇到的那些问题一一记录下来,望对初学会有所帮助. 学习开源代码,我认同一种说法,“竟
makefile 编译指定目录
makefile 编译指定目录 sub1=test1 sub2=test2 subs = sub1 sub2 SUBDIRS =$(foreach i, $(subs), $($(i))) .PHONY:default all clean $(SUBDIRS) $(subs) default:all all clean: make $(SUBDIRS) TARGET=$@ $(SUBDIRS): make -C $@ $(TARGET) $(subs): make $($@)
CMake 工程调用 Makefile 编译项目
本文主要介绍如何将一个依赖 Makefile 项目(MIDG)移植到 CMake 上. 首先介绍项目文件结构,文件主要由三个目录组成 3rdParty include src 其中,3rdParty 中包含两个外部函数库,即 Metis 与 ParMetis,生成两个静态链接库 libmetis.a 与 libparmetis.a. src 包含项目所有源程序, include 则包含了全部头文件. 因此,我们在根目录下 cmake 配置文件内容如下 cmake_minimum_required
Makefile编译库
funs.h: #ifndef __FUNS_H__ #define __FUNS_H__ void fun1(); #endif funs.c #include "funs.h" #include <stdio.h> void fun1() { printf("this is fun1"); } Makefile CC = gcc GXX = g++ LD = ld AR = ar CFLAGS = -g -O2 -Wall -fpic LDFLAGS
一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件
通常要把我们自己的的代码编译成在android里面编译的可执行文件,我们通常是建一个文件夹 . ├── Android.mk ├── Application.mk ├── convolve.cl ├── convolve_cl.cpp ├── convolve_cl.cpp~ ├── inter_ocl │ └── opencl │ ├── CL │ │ ├── cl_ext.h │ │ ├── cl.h │ │ ├── cl_platform.h │ │
Makefile 编译动态库文件及链接动态库
本文为原创文章,转载请指明该文链接 文件目录结构如下 dynamiclibapp.c Makefile comm/inc/apue.h comm/errorhandle.c dynamiclib/Makefile dynamiclib/dynamiclib_add.c dynamiclib/dynamiclib_mul.c dynamiclib/inc/dynamiclibs.h dynamiclib/libs/ 1. dynamiclib目录 dynamiclib/inc/dynamiclib
在Windows下使用nmake+Makefile+编译ZThread库(附例子)
----------2015/01/09/23:21更新----------------------------------- 关于保留DEBUG信息的一个简单例子,见这篇随笔 ----------2014/12/18/17:53更新----------------------------------- 前段时间写了这篇随笔,现在回过头来看感觉有很多问题,因此打算修正和补充一下,以前写的内容也没删,就留在这篇随笔的最下面了,可以对比着看看 目的:编写使用ZThread库的多线程程序 Window
使用makefile编译多个文件(.c , .cpp , .h等)
有时候我们要一次运行多个文件,这时候我们可以使用Makefile!!! ◊make是什么? make是一个命令工具,是一个解释makefile中指令的命令工具.它可以简化编译过程里面所下达的指令,当执行 make 时,make 会在当前的目录下搜寻 Makefile (or makefile) 这个文本文件,执行对应的操作.make 会自动的判别原始码是否经过变动了,而自动更新执行档. ◊为什么要使用make? 假设,现在一个项目里面包含了100个程序文件,如果要对这个项目进行编译,那么光是编译
Win7 + VS2015 + CMake3.6.1-GUI + Makefile 编译开源库
CMake生成Unicode版本VC工程 Just add this line in your top CMakeLists.txt file: add_definitions(-DUNICODE -D_UNICODE) if(MSVC) add_definitions(-DUNICODE -D_UNICODE) endif() 基本配置 配置生成库输出目录 ExportDir=F:\Develop\bin\x64 Add Entry:
Makefile 编译静态库文件及链接静态库
本文为原创文章,转载需指明该文链接 1.代码目录结构如下: comm/ comm/inc/apue.h 3 atexit.c Makefile 5 staticlib/lib/ staticlib/inc/staticlibs.h staticlib/staticlib_add.c 9 staticlib/staticlib_mul.c staticlib/Makefile 2.目录 staticlib/lib/ 是用来盛放静态库文件的——libmytest.a,在编译静态库之前该目录是空
手动写Makefile编译Android NDK的so
之所以摒弃NDK,是因为NDK编译出来的so太大,而且导出表总有一些没用的符号.而且手动编译的话,可以得到编译过程中间的.i和.s文件,可以删除一些没用的汇编代码.现在代码列出来:我的NDK C的代码如下,main.c:[html] view plain copy#include <stdio.h> #include <string.h> #include <jni.h> #ifndef __ANDROID_LOGCAT_H__ #define __ANDROID_LO
makefile 编译多个目标
1.静态库libtools.a源码 libtools.h #ifndef tools_h_ #define tools_h_ int sub(int x,int y); int mul(int x,int y); #endif libtools.cpp #include"libtools.h" int sub(int x,int y) { return x - y; } int mul(int x ,int y) { return x * y; } 2.动态库libutility.so
Makefile编译
这篇文章演示多目录,c,c++混编的Makefile写法. 文件夹: $dir/bin/ $dir/deps/ deps/inc/ deps/lib/ deps/src/ $dir/obj/ $dir/project/ project/test.mk $dir/src/ src/class1.cpp src/class1.h src/test.cpp src/mydir/class2.cpp src/mydir/class2.h src/mydir/funs1.c src/mydir/funs1
windows下如何使用makefile编译
1. 编写makefile. 2. 使用nmake进行编译, vs2010或者其他都是用nmake进行编译的,将bin目录添加到path环境变量中 先执行vcvars32.bat 再执行nmake
热门专题
js将promt的值带入到函数
antd Protable详情页渲染
spring 为什么不解决 构造函数 循环依赖
java常见内置方法
哪个jdk版本不会出现无法通过安全套接字层
springboot启动mybatis初始化
maven build和install区别
ssm框架4个配置文件
Wpf动态加载Xaml的3D模型文件
ubuntu aosp12编译
fastadmin 切换为生产模式
centos6 逻辑卷映射为裸设备
mybatis字段为类
installshield 运行 bat
ubuntu安卓开发c#
js 变量包含特殊字符
天宝187A刷机支持carplay
centos禁止ipv6
c double计算结果精度出错问题
uniapp h5 获取手机摄像头