首页 > 编程语言 >c/c++ 混合编译makefile

c/c++ 混合编译makefile

时间:2023-09-13 16:44:06浏览次数:47  
标签:%. TARGET makefile C++ 编译 LINK c++ FLAGS

CC = gcc
C++ = g++
LINK = g++
INCLUDES = -L. -Isconv

LIBS = -lz -lm 
CCFLAGS = $(COMPILER_FLAGS) --std=c99 -c -g -MMD -MP $(DEFINES)  
C++FLAGS = $(COMPILER_FLAGS) -std=c++11 -c -g  -O2 -W -Wall  

TARGET=222

CFILES = sconv/sconv.c
C++FILES = 2.cpp

OBJFILE = $(CFILES:.c=.o) $(C++FILES:.cpp=.o)

all:$(TARGET)

$(TARGET): $(OBJFILE)
	$(LINK) $^ $(LIBS) -fpermissive -fvisibility=hidden -Wl,-rpath,$ORIGIN -Wl,-Bsymbolic -o $@
#$(LINK) $^ -Wall -o $@ -ldl -pthread
%.o:%.c
	$(CC) $(CCFLAGS) $(INCLUDES) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"

%.o:%.cpp
	$(C++) -o $@ $(C++FLAGS) $< $(INCLUDES)

install:
	tsxs -i -o $(TARGET)

clean:
	rm -rf $(TARGET)
	rm -rf $(OBJFILE)

  

标签:%.,TARGET,makefile,C++,编译,LINK,c++,FLAGS
From: https://www.cnblogs.com/hshy/p/17700082.html

相关文章

  • 复习c++
    一些偏门的点endl可以用\n代替cout<<"Helloworld"<<"\n"intmain()括号里加void才能表示不可传参//这样是正确的intmain(){if(0)main(42);}//这样会出错intmain(void){if(0)main(42);}默认编译产生的文件名就是cpp的名且不带后面的参数。如果......
  • Apk反编译及重新打包流程
    一、反编译代码1、反编译java代码首先需要下载dex2jar这个工具,下载地址:https://sourceforge.net/projects/dex2jar/files/目前最新版是2.0,下载完后并解压缩。2、将要反编译的apk文件重命名为zip格式并解压缩,注意其中的classes.dex文件,它存放了全部的java代码,将classes.dex文件拷......
  • C++算法进阶系列之倍增算法解决求幂运算
    1.引言学习倍增算法,先了解什么是倍增以及倍增算法的优势。如果面前有一堆石子,要求计算出石子的总数量。这是一个简单的数数问题,可以:一颗石子一颗石子的数。两颗石子两颗石子的数。三颗石子三颗石子的数。或者更多颗石子更多颗石子的数……在石子很多的情况下,每一次选择更......
  • C++11之智能指针(万字长文详解)
    C++11之智能指针为什么需要智能指针#include<iostream>usingnamespacestd;intdiv(){inta,b;cin>>a>>b;if(b==0)throwinvalid_argument("除0错误");returna/b;}voidFunc(){//1、如果p1这......
  • Maven 编译后War包运行失败
    问题发生原因项目构建使用Maven,因为代码较老有一些jar包是本地项目打包生成,一部分jar是古老第三方包,不准备上传私有仓库。在war包构建时使用maven插件maven-war-plugin。<plugin><groupId>org.apache.maven.plugins</groupId><a......
  • Vue编译出现This file is being treated as an ES module because it has a '.js' fil
    问题描述在编译前端项目时出现下面的问题:FailedtoloadPostCSSconfig:FailedtoloadPostCSSconfig(searchPath:D:/WebProject/imooc-front):[FailedtoloadPostCSSconfig]FailedtoloadPostCSSconfig(searchPath:D:/WebProject/imooc-front):Thisfileisbe......
  • C++系列三:Qt-for-Python
    目录代码参考:代码参考:官方文档、博客参考代码参考:self.ui.pushButton.setText("demo")lable=QLabel("<fontcolor=redsize=40>HelloWorld!</font>")lable.show()SignalsandSlots:fromPySide6.QtCoreimportSlot@Slot()defsay_hello():......
  • C++系列三:QT-事件处理
    目录介绍:介绍:GUI应用程序是由事件(event)驱动的,点击鼠标,按下按键,窗口大小改变等等按事件的来源,可以将事件划分为3类:自生事件(spontaneousevent):由窗口系统产生,如:QKeyEvent、QMouseEvent。自生事件会进入系统队列,等待事件循环的处理。发布事件(postedevent):是由Qt应用程序产生,如:Q......
  • AS报错在编译过程中发现了重复的类
    问题描述Task:composite:checkDebugDuplicateClassesFAILEDExecutionfailedfortask':composite:checkDebugDuplicateClasses'.Afailureoccurredwhileexecutingcom.android.build.gradle.internal.tasks.CheckDuplicatesRunnableDuplicateclasskotlin.c......
  • 编译ijkplayer指北
    下载VMwaer安装ubantu,笔者用的是18.04.6下载ndk 版本R14b下载Androidsdk下载ijkplayer的源码git上直接拉配置Androidndk环境变量配置Androidsdk环境变量检测ndksdk是否生效编辑module.sh下的解码协议执行opssh的编译执行ffmpeg的编译执行jikplayer......