主题:有没有用CODE BLOCKS作IDE的,你们用的是什么线性代数库?
llbbhq
[专家分:0] 发布于 2011-04-20 17:20:00
这个问题我都快疯了,就是不知道怎么设置,从IMSL到MKL,又到LAPACK,折腾一个星期了,还是没设置好。有没有哪些朋友也遇到过这些问题,求指点迷津。
回复列表 (共53个回复)
11 楼
llbbhq [专家分:0] 发布于 2011-04-21 17:51:00
[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 楼
dongyuanxun [专家分:7180] 发布于 2011-04-21 18:07:00
看来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 楼
llbbhq [专家分:0] 发布于 2011-04-22 08:51:00
[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 楼
dongyuanxun [专家分:7180] 发布于 2011-04-22 13:49:00
有了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 楼
llbbhq [专家分:0] 发布于 2011-04-22 14:47:00
[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 楼
llbbhq [专家分:0] 发布于 2011-04-22 14:48:00
这是按你的提示修改后的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 楼
dongyuanxun [专家分:7180] 发布于 2011-04-22 14:54:00
属于线程操作错误
你把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 楼
llbbhq [专家分:0] 发布于 2011-04-22 15:04:00
还是不行,错误是一样
19 楼
llbbhq [专家分:0] 发布于 2011-04-22 15:06:00
在make.inc文件中有一个“LOADER = gfortran -g”,这个需不需要改
20 楼
dongyuanxun [专家分:7180] 发布于 2011-04-22 15:10:00
[quote]还是不行,错误是一样[/quote]
你用了我的mingw32-make么?
我这里没有问题
我来回复