mingw

There are 2 entries for the tag mingw

使用mingw来编译boost jam

MitchellChu 2013-12-31 其他技术 编程语言

由于编译boost是需要使用bjam(本文是单独编译boost jam 3.1.18)的,而bjam的只是源代码而已,因此,编译boost的第一步就需要编译bjam。不过boost jam的编译还是相对简单,Windows下只需要double click根目录下的build.bat即可。当然,直接双击,在没有对应环境的前提下还是不可能编译成功的。如果是安装有Visual Studio(使用VC),一般是可以成功的,如果不成功到VC目录下运行VCVARS32.bat应该问题就不是很大了。当然,我们也可以指定编译选项 —— 而我机器上有Mingw和VS,默认使用VS,但我更想它使用Mingw来编译。 因此,在cmd下输入: #注意,需要路由到build.bat的这个目录下 #Build.bat 支持的参数有: # borland, como, gcc, gcc-nocygwin, # intel-win32, metrowerks, mingw, # msvc, vc7, vc8, vc9, vc10 build.bat mingw 要这个编译顺利进行,请保证下面这些地方已经处理妥当: 1. Mingw是安装在C:\MinGW下,如果不是,需要打开build.bat修改 ###在build.bat中找到下面的代码 if EXIST "C:\MinGW\bin\gcc.exe" ( set "BOOST_JAM_TOOLSET=mingw" set "BOOST_JAM_TOOLSET_ROOT=C:\MinGW\" goto :eof) #### 将路径修改成MinGW实际所在路径,如我的测试路径 if EXIST "D:\Env\MinGW\bin\gcc.exe" ( set "BOOST_JAM_TOOLSET=mingw" set "BOOST_JAM_TOOLSET_ROOT=D:\Env\MinGW\" goto :eof) 2. 保证MinGW的bin目录已经添加到系统环境变量中,因为后继编译需要使用gcc。 3. 如果是在Cmd中执行build.bat,请保证命令行的当前路径是build.bat所在根目录 —— 这在需要传递参数给build.bat的时候很重要。

MinGW生成C可执行文件,运行报dll丢失

MitchellChu 2013-12-30 其他技术 Unix & Linux 编程语言

MinGW下使用g++.exe/gcc.exe编译出来的可执行文件,在运行时报libgcc_s_dw2-1.dll丢失的错: 无法启动此程序,因为计算机中丢失libgcc_s_dw2-1.dll。尝试重新安装该程序已解决此问题。 这个问题的原因是因为gcc编译器在默认的情况下使用的不是静态关联,所以在执行文件下没有找到该DLL就会导致这个报错。最简单的解决方法是将此DLL直接放入到可执行文件的同目录下即可,当然,还有可能会报: 无法启动此程序,因为计算机中丢失libstdc++-6.dll。尝试重新安装该程序已解决此问题。 这种情况下,只能再次把丢失的DLL拷贝到可执行文件的目录下,这样问题就能得到解决。 虽然上面的方法能够解决这个问题,但每次新项目之后都需要将这些文件放入到部署文件夹。如果对这种方式不太满意,你可以考虑在编译的时候加入:-static-libgcc -static-libstdc++ g++.exe source_files -o target_file -static-libgcc -static-libstdc++ 这将直接告诉编译器,使用静态链接来处理关联。编译之后,就不需要再次将DLL文件拷贝到可执行文件的目录中。 如果你是使用CMake来编译,也可以在CMakeLists.txt中添加这两个参数: project(projectName) cmake_minimum_required(VERSION 2.8) #...... ### 添加下面这段代码 if(WIN32) set(CMAKE_CXX_FLAGS "-static-libgcc -static-libstdc++") endif(WIN32) ### 添加结束 #..... #其他代码 这样在编译的时候,就能自动添加这两个参数到编译器上。

关于博主

  一枚成分复杂的网络IT分子,属于互联网行业分类中的杂牌军。