首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
makefile编译多个main
2024-09-03
【原创】支持同时生成多个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
热门专题
postman返回结果设置变量
js 今天是一年中的第几天
.net core静态类取配置文件
select 2 data 自定义键名
ajax 如何 对接phpstudy里的php接口
ebs soa服务字段是必须顺序的吗
vivado如何打开ip示例工程
arcgiswpf 线 TextSymbol
mac crt 高亮配置
.net reactor 设定次数
检查虚拟机Mysql的端口是否对外开放
unityAssetBundle 文件夹中的文件怎么加载
输入ab的值求sum=a b
three 转 cannon 模型
debian apache2 转发
Lucene索引与Mysql数据库保持同步
java 定时器 访问主线程变量
archlinux 键盘灯亮度
用puyyt进不去服务器
APP搜索变量sign