回 帖 发 新 帖 刷新版面

主题:有没有用CODE BLOCKS作IDE的,你们用的是什么线性代数库?

这个问题我都快疯了,就是不知道怎么设置,从IMSL到MKL,又到LAPACK,折腾一个星期了,还是没设置好。有没有哪些朋友也遇到过这些问题,求指点迷津。

回复列表 (共53个回复)

11 楼

[quote]那个是压缩文件,你需要7zip进行解压[/quote]


好像就差一点点了。按你的指示操作后,跳出一个对话框:

mingw32-make.exe-无法找到组件

没有找到libintl-8.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。


PS:在你给的地址“http://sourceforge.net/projects/mingw/files/MinGW/make/make-3.82-mingw32/make-3.82-5-mingw32-bin.tar.lzma/download”下载的压缩包中只有一个文件:mingw32-make.exe。我在把它拷到g95/bin目录下时,私下里双击了下,也会跳出一样的提示:

mingw32-make.exe-无法找到组件

没有找到libintl-8.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题。

12 楼

看来mingw官方给改了,原来不需要

可以下这个
ftp://ftp.equation.com/make/32/make.exe

把make.exe改名为mingw32-make.exe

你也可以在我的mingw gcc编译版里提取这个
http://pcxprj.googlecode.com/files/MinGW_gcc4.5.3.20110324_static_win32.7z

13 楼

[quote]看来mingw官方给改了,原来不需要

可以下这个
ftp://ftp.equation.com/make/32/make.exe

把make.exe改名为mingw32-make.exe

你也可以在我的mingw gcc编译版里提取这个
http://pcxprj.googlecode.com/files/MinGW_gcc4.5.3.20110324_static_win32.7z

[/quote]
晕,又有新问题了:


The Fortran compiler identification is G95
CMake Error at G:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineRCCompiler.cmake:30 (MESSAGE):
  Could not find compiler set in environment variable RC:

  windres.exe.
Call Stack (most recent call first):
  G:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU.cmake:59 (enable_language)
  G:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU-Fortran.cmake:1 (include)
  G:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-G95-Fortran.cmake:1 (include)
  G:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeFortranInformation.cmake:33 (INCLUDE)
  CMakeLists.txt:2 (project)


CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_RC_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_RC_COMPILER
CMake Error: Could not find cmake module file:C:/Users/lolo/Desktop/CMakeFiles/CMakeRCCompiler.cmake
CMake Error: CMAKE_RC_COMPILER not set, after EnableLanguage
Configuring incomplete, errors occurred!

14 楼

有了mingw32-make后,就不需要cmake了

把make.inc.example改名为make.inc
修改make.inc里面的

PLAT = _LINUX

PLAT = _WIN32 (随你愿意,只是一个后缀)

FORTRAN  = gfortran -fimplicit-none -g

FORTRAN  = g95 -O3  (自己加需要的编译开关)

然后打开cmd命令行
进入到你下载的源码的顶层目录
输入
mingw32-make blaslib
mingw32-make lapacklib

15 楼

[quote]有了mingw32-make后,就不需要cmake了

把make.inc.example改名为make.inc
修改make.inc里面的

PLAT = _LINUX

PLAT = _WIN32 (随你愿意,只是一个后缀)

FORTRAN  = gfortran -fimplicit-none -g

FORTRAN  = g95 -O3  (自己加需要的编译开关)

然后打开cmd命令行
进入到你下载的源码的顶层目录
输入
mingw32-make blaslib
mingw32-make lapacklib
[/quote]

顶层目录是指lapack-3.3.0么,但是我cd到这个目录,然后运行“mingw32-make blaslib”会有一个错误提示:

< cd BLAS/SRC;mingw32-make>
process_begin:CreateProcess<NULL,<cd BLAS/SRC;mingw32-make>,...> failed.
make<e=2>:系统找不到指定的文件。
mingw32-make:***[blaslib]Error 2


16 楼


这是按你的提示修改后的make.inc文件:

# -*- Makefile -*-
####################################################################
#  LAPACK make include file.                                       #
#  LAPACK, Version 3.3.0                                           #
#  November 2010                                                   #
####################################################################
#
# See the INSTALL/ directory for more examples.
#
SHELL = /bin/sh
#
#  The machine (platform) identifier to append to the library names
#
PLAT = _WIN32#  
#  Modify the FORTRAN and OPTS definitions to refer to the
#  compiler and desired compiler options for your machine.  NOOPT
#  refers to the compiler options desired when NO OPTIMIZATION is
#  selected.  Define LOADER and LOADOPTS to refer to the loader
#  and desired load options for your machine.
#
FORTRAN  = g95 -O3      =
DRVOPTS  = $(OPTS)
NOOPT    = -g -O0
LOADER   = gfortran -g
LOADOPTS =
#
# Timer for the SECOND and DSECND routines
#
# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME
# TIMER    = EXT_ETIME
# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_
# TIMER    = EXT_ETIME_
# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME
# TIMER    = INT_ETIME
# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...)
# SECOND and DSECND will use a call to the Fortran standard INTERNAL FUNCTION CPU_TIME 
TIMER    = INT_CPU_TIME
# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0
# TIMER     = NONE
#
#  The archiver and the flag(s) to use when building archive (library)
#  If you system has no ranlib, set RANLIB = echo.
#
ARCH     = ar
ARCHFLAGS= cr
RANLIB   = ranlib
#
#  The location of BLAS library for linking the testing programs.
#  The target's machine-specific, optimized BLAS library should be
#  used whenever possible.
#
BLASLIB      = ../../blas$(PLAT).a
#
#  Location of the extended-precision BLAS (XBLAS) Fortran library
#  used for building and testing extended-precision routines.  The
#  relevant routines will be compiled and XBLAS will be linked only if
#  USEXBLAS is defined.
#
# USEXBLAS    = Yes
XBLASLIB     =
# XBLASLIB    = -lxblas
#
#  Names of generated libraries.
#
LAPACKLIB    = lapack$(PLAT).a
TMGLIB       = tmglib$(PLAT).a
EIGSRCLIB    = eigsrc$(PLAT).a
LINSRCLIB    = linsrc$(PLAT).a

17 楼

属于线程操作错误
你把mingw32-make再改回到make试试
然后
make blaslib
make lapacklib

不行的话把你刚才下载的make删除
使用我的mingw32-make
你可以在我的mingw gcc编译版里提取这个
http://pcxprj.googlecode.com/files/MinGW_gcc4.5.3.20110324_static_win32.7z

18 楼

还是不行,错误是一样

19 楼


在make.inc文件中有一个“LOADER   = gfortran -g”,这个需不需要改

20 楼

[quote]还是不行,错误是一样[/quote]
你用了我的mingw32-make么?

我这里没有问题

我来回复

您尚未登录,请登录后再回复。点此登录或注册