Skip to content

Ainray/blbcc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

    This Project aims to build LAPACK or its family(e.g. LACPACKE, LAPACK++) with Builder C++.
    I've just done a little, someone who use LAPACK in with BCB/RAD is expected to
enrich the work, and finally complete it, which does mean a lot for BCB fans.

    This is a good start, however just a start. Additonal efforts should be make to improve this project:
        + family member, LAPACK, LACPACKE, CLAPACK, ...
        + platform, X86, X64
        + Debug version/Release version

    NOTE: blas, the basic vector/matrix operations, fortran
          lapack, the linear algebra library, fortran
          cblas, c interface of blas
          lapacke, c interface of lapack

Looking forward to BCB fans.
    
    Refers:
        + http://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries, LAPACK in windows
        + http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm
        + https://icl.cs.utk.edu/lapack-for-windows/lapack/index.html#build, Easy Windows Build

    Tools:
        + objconv
        + tools from Builder C++ (10.3) installation ("bin directory in the installation directory").           

    File system:

        + Files in ./lib are download from "LAPACK in windows(http://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries)"

        + Files in ./tool are tools to convert object or library files format: objconv
and other tools from Builder C++ (10.3) installation ("bin directory in the installation directory").           

        +Trial directory gives an "LAPACKE" example Downdoad from "LAPACK in windows(http://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries)"
It has "CMakeLists.txt" and "build.sh" I used. The corresponding "VS" solution is also given which succeed to be built.

    
    Progress:
        I first try method given by Howe (http://bcbjournal.org/articles/vol4/0012/Using_Visual_C_DLLs_with_CBuilder.htm).

        Add a new successful example "LAPACK_BCB_examples" in trial. Thansks to Howe. The RAD lib is created by his method.

        However, the original library is not directly download from "LAPACK in windows(http://icl.cs.utk.edu/lapack-for-windows/lapack/#libraries)"
It failed due to unknown linked error. I compile the LAPACK from source under mingw followed by 
"Easy Windows Build(https://icl.cs.utk.edu/lapack-for-windows/lapack/index.html#build)". 
		
        Here is a summary how to convert DLL generated by mingw into BCB import library.

            + first build lapack from source ( I have configured it , just make in "cmd" window)

            + generate def file from DLL

                    impdef blas.def libblas.dll

            + edit the blas.def by manually aliased the function names, if you have "awk" and "paste" at hand, you can
                    awk -F";" '{printf("%s=2\n",$2)}' blas.def >/tmp/1
                    paste /tmp/1 blas.def > /tmp/2
                    vim /tmp/2 #remove the Windows linebreak "\r"
                    cp /tmp/2 blas.def

            + generate import library
                    implib libblas_rad.lib blas.def
			
            To do the same to "lapack.dll". lib_lapack-3.8.0 in "trial/LAPACK_BCB_examples" is generated by this way.
		
       The lapack-3.8.0 configured by (cmake-gui) and a "helloworld project for cmake" is also pushed for reference.

About

Build Lapack with Builder C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published