windows下用Mingw编译库文件
来源:互联网 发布:html5动画源码怎么用 编辑:程序博客网 时间:2024/05/21 09:13
今天在研究D.Blei的CTM(correlated topic model)提供的参考代码, readme上说这个代码 需要第三方库gsl支持, 于是下载了GSL库,打算用mingw编译并安装,但是进入mingw的shell界面后,不知道这个mingw系统所在的windows目录在哪..当然也不知道如果编译安装第三方库,会装到哪里,囧。
后来,去mingw主页上查看,找到了有参考价值的网址:http://www.mingw.org/wiki/MSYS
这里介绍了如何安装第三方库。
首先把windows目录挂载到mingw系统中,如
mount c:/mingw /mingw
表示mingw装在了c:/mingw这个路径下,之后你安装的软件就会也装在这个路径下的include和lib下
之后直接进入到下载的第三方库安装文件夹,比如我把gsl放在c:/gsl下,cd c:/gsl后,按照以下步骤安装即可
./configure --prefix=/mingwmakemake install
另外,在编译c程序时碰到了一个问题,如下:
主要还是cdt下配置的mingw的编译器找不到指定的makefile文件,于是按照以下方法配置了make的属性
make: *** No rule to make target `all'. Stop.
环境:Eclipse + CDT + Mingw
项目类型:C Project-->Makefile project-->Empty Project-->MinGW GCC
错误:
make all
make: *** No rule to make target `all'. Stop.
解决方式:右键项目-->properties-C/C++ Build-->Builder settings
此时可看到Builder Type是不可选的,
且Makefile generation-->Generate makefiles automatically是未选中的
选中Generate makefiles automatically
此时Builder Type变成了可选项,选择internal builder
然后提交
执行项目,如果再出现Launch failed. Binary not found.错误,刷新下项目就好了,或者Project-->Build All
接下来,再次运行工程的build project, 发现还是有错误,不过主要的都是unresolved symbol xxx, 这类错误主要就是库文件没有指定,编译器找不到.a文件,需要对eclipse中的编译器添加第三方链接库,参看eclipse的FAQ:http://wiki.eclipse.org/CDT/User/FAQ#How_do_I_add_an_external_library_to_my_C.2B.2B_project.3F,可以对mingw的compiler目录进行指定, 添加 所需的.a文件名。
具体配置的地方是: 工程名->右键properties->c/c++ build->settings->mingw c++ linker->libaries
在里面添加.a文件名(注意.a前面的lib要省去),因为-l已经默认加上了lib前缀。
如果出现了warning implicit declaration of function 'mkdir' 这种错误,则说明mingw的头文件声明中缺少了对mkdir的定义,在网络上查看了下,http://lists.gnu.org/archive/html/bug-gnulib/2008-04/msg00259.html, 这个网页指出了mingw中<io.h>定义的mkdir与gnu c library中定义有细微的区别, 而且mingw中的mkdir只带有一个参数, 而gnu默认的带两个参数。
因此,需要增加包含头文件<io.h>, 同时使用mingw中只带有一个参数的mkdir函数。 即可解决问题。
- windows下用Mingw编译库文件
- Windows下用Mingw编译Boost.Regex库
- windows 下使用MinGW编译PBC库
- windows下cygwin/mingw编译ffmpeg库
- Windows下MinGW编译ffmpeg库
- Windows下使用MinGW编译boost库
- 在windows下用mingw编译emacs
- windows下MinGW编译ffmpeg
- mingw在windows下编译geos的linux库问题
- Windows下使用MinGW编译生成的PBC库
- windows下MinGW编译cblas基本线性代数库
- 在Windows下用MinGW+GCC编译SDL的注意事项
- 在Windows下用mingw+msys编译ffmpeg
- 在Windows下用Mingw 4.5.2编译X264
- Windows下用MinGW编译wxWidgets需要注意的地方
- Windows环境下使用minGW编译boost库(windows下编译使用asio, thread等)
- 在Windows下用MinGW编译OpenSSL,及OpenSSL静态链接库libcrypto.a使用问题
- 在windows下用Qt creator + mingw编译protobuf源码生成静态链接库的方法
- ScrollView中嵌套ListView是,嵌套在里面的ListView不能完全显示解决方法
- DG2.2——物理备库说明
- 文件自我疯狂复制
- IBM将转向移动主机的云服务
- CXX0017: 错误: 没有找到符号
- windows下用Mingw编译库文件
- gcc版本不一样导致的问题--Floating point exception 问题解决
- SQL学习之六
- PHP相关缓存技术
- 数据结构之堆
- 如何用BeginInvoke方法解决SetCurrentCellAddressCore 异常
- S3c6410 linux内核移植(8)---添加adc驱动、电池电量检测之原理
- typedef用法
- 一个合格的程序员应该读过哪些书