Menu

FreeImage-CMakes

Developers
FEI.CHEN
2021-04-19
2022-01-28
  • FEI.CHEN

    FEI.CHEN - 2021-04-19

    Hi guys, FreeImage and FreeImage plus works pretty good on Windows.
    However, I meet some issues on ubuntu.

    Firstly, install libfreeimageplus-dev on ubuntu via
    Sudo apt-get install libfreeimageplus-dev on Linux.

    load TIFF image

    fipImage fimg(FIT_FLOAT);
    fimg.load(lpszMultiPage2);
    some warining as follows:

    TIFFReadDirectory: Warning, Unknown field with tag 50838 (0xc696) encountered.
    TIFFReadDirectory: Warning, Unknown field with tag 50839 (0xc697) encountered.
    TIFFFieldWithTag: Internal error, unknown tag 0x829a.
    TIFFFieldWithTag: Internal error, unknown tag 0x829d.
    TIFFFieldWithTag: Internal error, unknown tag 0x8822.
    TIFFFieldWithTag: Internal error, unknown tag 0x8824.
    TIFFFieldWithTag: Internal error, unknown tag 0x8827.
    TIFFFieldWithTag: Internal error, unknown tag 0x8828.
    TIFFFieldWithTag: Internal error, unknown tag 0x9000.
    TIFFFieldWithTag: Internal error, unknown tag 0x9003.
    TIFFFieldWithTag: Internal error, unknown tag 0x9004.
    TIFFFieldWithTag: Internal error, unknown tag 0x9101.
    TIFFFieldWithTag: Internal error, unknown tag 0x9102.
    TIFFFieldWithTag: Internal error, unknown tag 0x9201.
    TIFFFieldWithTag: Internal error, unknown tag 0x9202.
    TIFFFieldWithTag: Internal error, unknown tag 0x9203.
    TIFFFieldWithTag: Internal error, unknown tag 0x9204.
    TIFFFieldWithTag: Internal error, unknown tag 0x9205.
    TIFFFieldWithTag: Internal error, unknown tag 0x9206.
    TIFFFieldWithTag: Internal error, unknown tag 0x9207.
    TIFFFieldWithTag: Internal error, unknown tag 0x9208.
    TIFFFieldWithTag: Internal error, unknown tag 0x9209.
    TIFFFieldWithTag: Internal error, unknown tag 0x920a.
    TIFFFieldWithTag: Internal error, unknown tag 0x9214.
    TIFFFieldWithTag: Internal error, unknown tag 0x927c.
    TIFFFieldWithTag: Internal error, unknown tag 0x9286.
    TIFFFieldWithTag: Internal error, unknown tag 0x9290.
    TIFFFieldWithTag: Internal error, unknown tag 0x9291.
    TIFFFieldWithTag: Internal error, unknown tag 0x9292.
    TIFFFieldWithTag: Internal error, unknown tag 0xa000.
    TIFFFieldWithTag: Internal error, unknown tag 0xa001.
    TIFFFieldWithTag: Internal error, unknown tag 0xa002.
    TIFFFieldWithTag: Internal error, unknown tag 0xa003.
    TIFFFieldWithTag: Internal error, unknown tag 0xa004.
    TIFFFieldWithTag: Internal error, unknown tag 0xa20b.
    TIFFFieldWithTag: Internal error, unknown tag 0xa20c.
    TIFFFieldWithTag: Internal error, unknown tag 0xa20e.
    TIFFFieldWithTag: Internal error, unknown tag 0xa20f.
    TIFFFieldWithTag: Internal error, unknown tag 0xa210.
    TIFFFieldWithTag: Internal error, unknown tag 0xa214.
    TIFFFieldWithTag: Internal error, unknown tag 0xa215.
    TIFFFieldWithTag: Internal error, unknown tag 0xa217.
    TIFFFieldWithTag: Internal error, unknown tag 0xa300.
    TIFFFieldWithTag: Internal error, unknown tag 0xa301.
    TIFFFieldWithTag: Internal error, unknown tag 0xa302.
    TIFFFieldWithTag: Internal error, unknown tag 0xa401.
    TIFFFieldWithTag: Internal error, unknown tag 0xa402.
    TIFFFieldWithTag: Internal error, unknown tag 0xa403.
    TIFFFieldWithTag: Internal error, unknown tag 0xa404.
    TIFFFieldWithTag: Internal error, unknown tag 0xa405.
    TIFFFieldWithTag: Internal error, unknown tag 0xa406.
    TIFFFieldWithTag: Internal error, unknown tag 0xa407.
    TIFFFieldWithTag: Internal error, unknown tag 0xa408.
    TIFFFieldWithTag: Internal error, unknown tag 0xa409.
    TIFFFieldWithTag: Internal error, unknown tag 0xa40a.
    TIFFFieldWithTag: Internal error, unknown tag 0xa40b.
    TIFFFieldWithTag: Internal error, unknown tag 0xa40c.
    TIFFFieldWithTag: Internal error, unknown tag 0xa407.
    TIFFFieldWithTag: Internal error, unknown tag 0xa407.
    TIFFFieldWithTag: Internal error, unknown tag 0xa420.

    save TIFF image
    fipImage fimg(FIT_FLOAT, image->getResolution().x, image->getResolution().y, 32);
    fimg.load(lpszMultiPage2);
    error happened:
    symbol lookup error:......

    Secondly, build the FreeImage from source code
    download source code from offical website.
    follow the README.linux inside FreeImage folder.
    Installation
    Note: You will need to have root privileges in order to install the library in the /usr/lib directory.
    The installation process is as simple as this :

    Enter the FreeImage directory
    Build the distribution :
    make
    make install
    Clean all files produced during the build process
    make clean
    Compiling FreeImagePlus
    FreeImagePlus is a C++ wrapper for FreeImage.
    To compile FreeImage as a C++ library, follow these steps :

    Enter the FreeImage directory
    Build the distribution :
    make -f Makefile.fip
    make -f Makefile.fip install
    Clean all files produced during the build process
    make -f Makefile.fip clean
    Some warning and errors happed when saving and loading the TIFF images

     
  • FEI.CHEN

    FEI.CHEN - 2021-04-19

    In addition, my current project are cmake-based. I made a FreeImage-CMake project here https://github.com/Max-ChenFei/FreeImage-CMake, I rebuilt FreeImage on Windows and Linux using the cmake and all the units test passed.

     
  • Mihail Naydenov

    Mihail Naydenov - 2021-05-07

    I am also maintaining cmake FreeImage at https://github.com/mnaydenov/FreeImage-Adv
    you can take a look.
    The main difference compared to all other similar clones is that it does not compile all files as one blob, but makes individual subdirectories for each library, adding or fixing CMakeLists for each subproject. Currently only the main lib is supported (no plus or tests)

     
  • Daniel Rosser

    Daniel Rosser - 2022-01-28

    Yeah this is great work! Nice one! We should try and get CMake in as building block for FreeImage 4.0

     

Log in to post a comment.