首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

用GCC开发STM32,正点原子开发板的一个库函数版本例程示例

熟悉下Makefile 强力推荐熟悉网络牛人李云的51cto博客,有一篇驾驭Makefile的文章,另外一份参考资料也尤为重要《GNUmake中文手册-v3.80.pdf》,这都是先辈们开凿好的前路,对于后辈的我们只要沿路走就可以了...在熟悉的时候,可以一边对照实际工程编写对应的Makefile。 以下是简要学习Makefile的笔记: 1. %.a: 匹配所有以.a结尾的所有文件名    |--> 类似于通常意义的*. 2....$(MAKE) -C$(STD_PERIPH_LIB)    make的递归执行-->4.6GNUmake中文手册-v3.8    当前目录下存在外设库文件,在编译的时候先对子目录进行编译.   ...$(*D): 代表"茎"的目录部分    $(*F): 代表"茎"的文件名部分 6. find ./ -name'*~' | xargs rm -f    当你尝试用rm 删除太多的文件,你可能得到一个错误信息...用xargs 去避免这个问题 7.

1.4K20

python及第三方库交叉编译

这种情况下,在ARM平台上进行本机编译就不太可能了,为了解决这个问题,交叉编译工具就应运而生了。...cross-compile: 指定交叉编译链的前缀,这样在交叉编译openssl就会使用我们的交叉编译链进行交叉编译了         --prefix: 已经是交叉编译后的路径   5、在编译后生成的Makefile...中有两处是 -m64 的标记要删除,因为交叉编译后是在32位的板子上运行,所以这一步也要改:sed -i 's/-m64//' Makefile   6、执行编译安装:make && make install...、zlib-targer、cytpes-targer的头文件和链接库复制到/home/python-targer     cp -rfp /home/zlib-1.2.11-target/zlib-target...这个坑,一直坑了我一个月的时间,尝试了很多方法,不知道是编译链的问题,还是编译过程的问题

4.1K20

Linux工具入门:make工具与Makefile文件

Makefile文件 Makefile描述了整个工程的编译连接规则。Makefile的基本规则为: TARGET...: DEPENDENCIES... COMMAND ......TARGER:目标程序产生的文件,如可执行文件和目标文件,目标也可以是要执行的动作,如clean,也称为伪目标。...Makefile的简单示例 $ touch add.c add.h sub.c sub.h main.c 现在有这5个文件add.h 、sub.h包含了函数声明,add.c、sub.c包含了函数实现...Makefile 自动化变量 从上面的Makefile文件我们发现一些问题:有时候目标文件的依赖列表过长,或者命令重复书写。利用Makefile自动化变量可以解决这个问题。...$(patsubst %.c,%.o,$src) 【把src的.c文件列表的文件从.c替换为.o】 等价于: $(src:.c =.o) 【这种方式更常用】 shell函数 shell函数可以执行

3K40

Linux工具入门:make工具与Makefile文件

make工具通过一个称为Makefile的文件来完成并自动维护编译工作,Makefile文件描述了整个工程的编译、连接规则。 2. Makefile文件 Makefile描述了整个工程的编译连接规则。...TARGER:目标程序产生的文件,如可执行文件和目标文件,目标也可以是要执行的动作,如clean,也称为伪目标。...Makefile的简单示例 $ touch add.c add.h sub.c sub.h main.c 现在有这5个文件add.h 、sub.h包含了函数声明,add.c、sub.c包含了函数实现...Makefile 自动化变量 从上面的Makefile文件我们发现一些问题:有时候目标文件的依赖列表过长,或者命令重复书写。利用Makefile自动化变量可以解决这个问题。...$(patsubst %.c,%.o,$src) 【把src的.c文件列表的文件从.c替换为.o】 等价于: $(src:.c =.o) 【这种方式更常用】 shell函数 shell函数可以执行

3.4K40

Makefile基本用法

Makefile文件列出了依赖关系。默认执行第一行。 ? 其中,下面两行等价 ? ? 使用变量简化 添加objects变量后,形成以下简化形式。内容不变。 ?...使用默认编译简化 无需详细说明编译单个C源文件的方法,因为make可以解决这些问题。如main.o,kdb.o等。...名为GUNmakefile和Makefile的文件同时存在,则使用前者。 调用方法过程,若前者不存在,则如下脚本给出了如何寻找后者是否存在所需要调用的方法,然后执行。...依赖关系生成的格式为:target.o : target.c *.h 在这里将依赖关系写入了每个.d文件名对应的 文件, 的值是当前进程号,每两个 sed的替换命令,使用逗号作为分隔符,s,g作为开头和结尾...因此可能缺少一些内部标记。 ? ? ? .ONESHELL .ONESHELL定义后,在构建一个目标时,方法的所有行都将被赋予shell的一次调用,而不是单独调用每一行。

2.5K40

一文读懂SpringMVC的文件上传与下载

而在 Web 开发,使用应用层协议 HTTP,通过在请求头中设置传输的内容类型 Content-Type 为 multipart/form-data; boundary=流分隔符值 来上传文件,这个流分隔符用来区分一个文件上传的开始和结束...文件的中文注意编码问题,不同浏览器之间是有差异的。 ? 文件下载.jpg 2、SpringMVC的文件上传与下载 本文涉及的所以代码,都可以在我的 GitHub 上找到,传送门。...这个地方困扰的不止我一个人,这个 BUG 和 SpringMVC 无关,和 Tomcat 的一个属性有关系,请看下图,网上有人说 Tomcat7 就没有这个问题,但这不是推荐的解决问题方式。 ?...pageContext.request.contextPath}/js/jquery-1.12.4.min.js"> $(function(){ var targer...filename="+encodeURIComponent(data[i])) targer.append(a)

1.6K40

Nginx编译配置脚本篇(10)- Makefile相关脚本

文件 3.6、输出ALL_INCS变量到objs/Makefile文件 3.7、输出CORE_DEPS和CORE_INCS变量到objs/Makefile文件 3.8、将各个模块的头文件路径和头文件所在目录输出到...变量的值 5.4、往objs/Makefile文件写入manpage和objs/nginx.8目标 5.5、往objs/Makefile里面写入install目标 5.6、创建主Makefile文件...3、auto/make脚本文件详解 3.1、输出调试信息表示创建objs/Makefile文件 从auto/init脚本可以知道NGX_MAKEFILE的值为objs/Makefile。...ngx_regex_dirsep是正则表达式的目录分隔符,gcc编译器下该值为/,则ngx_objs_dir展开之后为objs/,ngx_use_pch的值不用理会,对于大部分编译器来说这个值没用。...第二个sed正则语句的意思就是将目录分隔符替换为当前平台支持的分隔符,因为我们之前的脚本设置的分隔符都是Linux风格的,这样在Windows系统编译就肯定不行了,ngx_regex_dirsep变量就是为了应对这些情况的

2.2K40

Linux 下的make命令与Makefile

fythons@sina.com 从一只猫说起hello kitty linux系统的make命令与makefile文件 make与makefile 在linux系统make是一个非常重要的编译命令...在Unix世界,软件发布时,特别是GNU这种开源软件的发布时,其makefile都包含了编译、安装、打包等功能。 我们可以参照这种规则来书写我们的makefile的目标。...j: 也就是jobs,输出执行规则命令的详细信息,如命令的PID、返回码等。 m: 也就是makefile,输出make读取makefile,更新makefile,执行makefile的信息。...这个特性是GNUmake的,很有可能不兼容于其它版本的make,所以,你应该尽量避免使用*,除非是在隐含规则或是静态模式。如果目标的后缀是make所不能识别的,那么?...这是GNUmake老版本的特性,在新版本,我们使用函数dir或notdir就可以做到了。D的含义就是Directory,就是目录,F的含义就是File,就是文件。

10.1K20

django2源码安装xadmin过程遇到模块缺少,如No module named crispy_forms等问题解决办法

我在最近的django开发过程遇到一些问题,就是我在github上下载xadmin源码包之后,然后setings之中也进行了配置,出现了如下问题 ?...然后又报错了,这时候我上网查了查,才发现我安装的模块出了问题,原来安装的不是这个模块,是pip install django-crispy-forms然后就安装成功了 ?...之后也有一个模块是同样的问题 ? 然后同样使用相应的命令安装 ?...https://github.com/sshwsfc/xadmin/tree/django2 这样xadmin就能运行了, 在此一些小提醒,如果使用django2.x安装老版本的xadmin,会出现很多问题...django.core.urlresolversdjango.core.urlresolvers模块,但是在django2.x之后就没有此模块了,而改成了django.urls模块,所以用老版本的xadmin会有很多模块上的改变,还有furture模块的安装等还有models对于级联更新操作

1.7K20

全志平台Tina系统第三方软件包移植缺少库依赖解决办法

全志平台Tina系统第三方软件包移植缺少库依赖解决办法 【适用范围】 全志平台Tina系统 【问题现象】 在移植第三方软件包或库时,编译过程没有出现问题,但在最后时刻显示missing dependencies...for the following libraires: 意味着,编译通过,但是最后打包时的检查发现缺少库。...无其他错误 【解决方案】 本问题解决方法很简单,在package Makefile的Package DEPENDS增加丢失库文件相应的库名即可,如本例: 增加+libjson-c 即可。...,可以看到,与猜测符合,可以确定来自这个库: 5.在Makefile寻找,我们要找的的库名通常在Package install部分可以找到对应关系: 6.将名称以+libjson-c的形式加到要移植的第三方库...Makefile的DEPENDS:后即可解决问题

16910

Android Ndk and Opencv Development 2

本节主要介绍的内容是Android NDK开发的核心内容和开发总结(包括很多常见问题的解决方案)。...Dev Guide,用浏览器打开可以看到里面介绍了NDK开发的很多配置问题,不同版本的NDK差别还是蛮大的,而且NDK开发问题会很多,不像SDK开发那么简单,所以,一旦出现了问题,运气好能够Google...[2]Android.mk文件 Android.mk文件是用来描述源代码是如何进行编译的,ndk-build命令实际上对GNU Make命令的一个封装,所以,Android.mk文件的写法就类似Makefile...my-dir是编译系统提供的一个宏函数,这个宏函数会返回当前Android.mk文件所在的目录 ②include $(CLEAR_VARS):CLEAR_VARS是编译系统提供的一个变量,这个变量指向一个特殊的Makefile...如果你安装了GNU Make 3.81,但是默认的make命令没有启动,那么可以在执行ndk-build之前定义GNUMAKE这个变量,例如GNUMAKE=/usr/local/bin/gmake ndk-build

76720

【OpenCV】如何在Linux操作系统下正确安装 OpenCV

(起码我是这样的),往往出现的问题缺少 boostdesc_bgm.i 等问题。...当然了如果不想自己配置opencv环境,我也在下面资源地址给出了已经配置好opencv环境的ubuntu虚拟机【20多个G,登录密码:123456】。...sudo mkdir build cd bulid 第五步:生成 makefile 文件 使用命令生成 makefile 文件,这里的命令不要原封不动的粘贴复制,要根据自己的路径进行修改,比如我 的 opencv...sudo make -j4 在进行 make 的时候,大概到 77%左右就会出现错误,提示你缺少.i 文件。这个时候打开之前下载好的.i 文件夹,通过命令移植到缺失目录下。...hpp 文件,不要担心,这个文件不需要下载,直接可以在 opencv 文件夹 找到。

24610

VS2015下编译64位GDAL总结

使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下。...然后我们必须得把这个CMD窗口CD到下载好的源代码目录(有makefile.vc的目录),Nmake就是通过makefile.vc来编译工程的。在编译之前需要修改nmake.opt中一些配置。...最后在CMD批处理命令: nmake -f makefile.vc nmake /f makefile.vc install nmake /f makefile.vc devinstall 第一个命令是编译...在网上查找攻略,得知是矢量格式odbc这部分的问题。这部分内容涉及到的环境在VS2015下貌似被修改,导致GDAL不兼容。不过我也没有试验是不是VS2015的专属问题。...修改成: # Comment out the following to disable ODBC support. # ODBC_SUPPORTED = 1 第二个办法是可以成功编译的,稍微遗憾的是缺少了矢量格式

80820
领券