导航:首页 > 程序命令 > mingwmake命令

mingwmake命令

发布时间:2024-01-08 01:57:47

① 如何使用GNU GCC编译MQX应用

1. 安装MQX4.0,在飞思卡尔官网把MQX的安装文件下载下来。

2. 安装好之后会在安装目录下生成如下图所示的子目录。

build目录:包含了飞思卡尔不同平台不同编译器的相关库的Makefile文件。具体内容如下列表示意图所示:
build
+---common
| +---make ... shared Makefiles with global settings, variables and paths
+--- ... board-specific folder
| +---make ... folder contains mass-build Makefile for all libraries
| +---tools ... tool-specific global settings, variables and paths
| +---bsp ... BSP Library Makefile
| +---psp ... PSP Library Makefile
| +---mfs ... MFS Library Makefile
| +---rtcs ... RTCS Library Makefile
| +---shell ... Shell Library Makefile
| +---usbd ... USB Device Library Makefile
| +---usbh ... USB Host Library Makefile
+---
+---make

3. 安装CodeWarrior Development Studio V10.5编译器。在飞思卡尔官网把CW10.5的安装文件下载下来。安装CW10.5时,请注意安装目录名称不要带空格。

CW10.5的Cross_Tools目录已经自带了GNU GCC for ARM Cortex-M4内核的交叉编译工具链。

4. 安装MinGW(Minimalist GNU on Windows) GNU工具集,在Windows下GNU GCC需要使用make.exe和sed.exe等工具。

5. 上述软件安装完毕后,按照实际安装情况,修改编译MQX所需的交叉工具链的目录。
1).修改全局宏定义脚本$MQX_DIR\build\common\make\global.mak
指定GNU 交叉工具链的安装路径TOOLCHAIN_ROOTDIR宏定义,如:
TOOLCHAIN_ROOTDIR = C:/Freescale/CW10_5

2).指定编译某一硬件平台需要GNU GCC编译器的具体安装路径。如需要编译twrk60d00m这款Demo板,修改脚本文件$MQX\build\twrk60d100m\make\tools\cw10gcc.mak,指定AS,CC,CX,AR,LD等工具的可执行文件。

#------------------------------------------------------------
# toolchain settings
#------------------------------------------------------------
AS = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
CC = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
CX = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
AR = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-ar.exe
LD = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe

6. 修改完毕上述脚本后,就可以开始使用GNU GCC编译MQX。在windows命令窗口下进入需要编译的目录,如Tower K60的编译目录:$MQX\build\twrk60d100m\make。在命令行下输入make指令:
C:\Freescale\Freescale_MQX_4_0\build\twrk60d100m\make>mingw32-make build TOOL=cw10gcc CONFIG=debug

这条make指令能够将整个MQX进行编译,并生成bsp.a,psp.a,shell.a,rtcs.a,usbd.a,usbh.a等库文件。

7. MQX系统库编译完毕后,可以进行应用程序的编译。在命令窗口进入需要编译的应用程序目录。如需要编译hello例程代码,进入$MQX\mqx\examples\hello\make目录,在命令下输入make命令:
C:\Freescale\Freescale_MQX_4_0\mqx\examples\hello\make>mingw32-make BOARD=twrk60d100m TOOL=cw10gcc CONFIG=debug LOAD=intflash build

GNU GCC将会编译应用程序代码,并与MQX的bsp.a,psp.a的库文件链接,生成.elf格式的可以执行文件。

8. 下载调试.elf可执行文件。在CW10.5中New创建一个Bareboard Project工程,选择需要使用的下载调试器,并且选定使用GNU GCC作为编译器。在菜单Properties --> Run/Debug Setting中选择需要下载的目标文件。然后通过菜单Run-->Debug下载调试程序。

② eclipse或netbeans里的make target是干什么用的

使用Eclipse开发C++的基本配置

1、安装MinGW(Minimalist GNU for Windows),专门为Windows平台定制的GCC开发模拟平台
官方地址:http://www.mingw.org/
当前使用版本:MinGW-5.1.4

下载后的安装文件,如图所示:

最后得到运行结果:Hello Eclipse world for C++

③ 我用QT进行编程,但是make命令和mingw32-make命令和nmake命令都不是内部指令,是什么回事呢

添加3个环境变量即可,依次如下:

1)QTDIR用户变量(假设你的Qt安装在D盘)

在Administration的用户变量中,新建一个变量“QTDIR”,路径是“;D:Qt2010.05qt;”

我估计你的问题主要是在:mingw32-make.exe的路径没有配置,即为path系统变量添加

“;D:Qt2010.05mingwin;”

④ 请问各位编程高手如何用MinGW编译Makefile

http://www.MinGW.org
下载mingw-make.exe把它放MinGW\bin下面,同时改名成make.exe

问题不在make.exe,在你自己。

⑤ cmake:让mingw(gcc)生成MSVC可用的dll(.lib)----mark亲测有效

minggw(gcc)编译出来的动态库(DLL),默认是没有MSVC连接动态库所需要的lib文件的。

关于MSVC的DLL和LIB的作用和区别,请参考这篇博文,讲得很透彻了–>《DLL和LIB的区别》

那么如果VC要链接gcc生成的DLL,却没有lib文件怎么办?
对于这个问题网上都有解决的办法,这篇文章讲到一些办法,可供收藏《VC6 调用GCC的DLL》,对于没有提供lib的DLL都可以用这篇文章提供的办法试试。

如果项目中不同的模块用不同的编译器编译,这时如果gcc编译的DLL没有import library(lib文件),可以通过cmake设置选项来解决。

CMAKE有一个GNUtoMS参数就是解决这个问题的。

GNUtoMS
Convert GNU import library (.dll.a) to MS format (.lib).

When linking a shared library or executable that exports symbols using GNU tools on Windows (MinGW/MSYS) with Visual Studio installed convert the import library (.dll.a) from GNU to MS format (.lib). Both import libraries will be installed by install(TARGETS) and exported by install(EXPORT) and export() to be linked by applications with either GNU- or MS-compatible tools.

CMAKE_GNUtoMS
Convert GNU import libraries (.dll.a) to MS format (.lib).

This variable is used to initialize the GNUtoMS property on targets when they are created. See that target property for additional information.(这个变量用来初始化GNUtoMS属性)

在用cmake生成Makefile时,设置GNUtoMS就可以解决这个问题。有两种途径:

shell命令行方式
如下在命令行中-D定义一个为bool类型的CMAKE_GNUtoMS参数为ON,就指示在编译时对dll生成.lib的import library

cmake %source_folder% -G “Eclipse CDT4 - MinGW Makefiles” -DCMAKE_GNUtoMS:BOOL=ON

cmak-gui
如下在cmake-gui界面中将CMAKE_GNUtoMS选项勾选,再点<generate>按钮生成Makefile

这里写图片描述

然后执行make编译项目的过程中,生成dll时会输出(前提是你安装了VC编译器)

Setting environment for using Microsoft Visual Studio 2010 x64 tools.

Microsoft (R) Library Manager Version 10.00.30319.01

Copyright (C) Microsoft Corporation. All rights reserved.

正在创建库 libturbojpeg.lib 和对象 libturbojpeg.exp

编译完成后,你就会发现所有的dll都有对应的lib文件了。
link: http://www.voidcn.com/article/p-tlmilzjf-ca.html

阅读全文

与mingwmake命令相关的资料

热点内容
oppor系列如何解除应用加密 浏览:599
程序员那么可爱姜逸城初恋 浏览:496
modbustcp编程 浏览:491
实况为什么安卓看不了 浏览:129
Java多线程Queue 浏览:95
云服务器499元三年 浏览:980
nbd源码 浏览:847
x86在arm上编译 浏览:8
linux怎么配置网络 浏览:307
程序员想要的小礼物 浏览:187
java获取网页url 浏览:625
怎么做解压神器泡泡版 浏览:967
自己动手做一个c编译器 浏览:930
手机如何链接谷歌服务器地址 浏览:137
废掉一个程序员的武功 浏览:249
java树形算法 浏览:642
通达信加锁指标源码怎么看 浏览:755
将同名文件移动到部分同名文件夹 浏览:404
摆荡指标加压力线源码 浏览:916
新一代单片机特征 浏览:770