This section contains general information about installing and using Framewave. Please refer to the README file in the installation package for the most recent information.
The include directory contains the following files.
fwBase.h contains definitions of data types, data structures, enumerations, and declarations for core functions.
fwSignal.h contains function declarations for signal processing.
fwImage.h contains function declarations for image processing.
fwVideo.h contains function declarations for video processing.
fwJPEG.h contains function declarations for JPEG processing.
The directory hierarchy for each type of installation is as follows.
Microsoft® Windows® Operating Systems
Linux® Operating Systems
Sun® Solaris® Operating System
Apple® Mac OS® Operating Systems
Set up each type of installation as follows.
Microsoft® Windows® Operating Systems
Make sure the DLL files are in the search PATH using one of the following methods.
Add the Framewave folder to the include search path within Microsoft Visual Studio (Project>Properties>Configuration Properties>C/C++>General> Additional Include Directories).
Add the Framewave lib folder to the libraries search path within Visual Studio (Project>properties>Configuration Properties>Linker>General> Additional Library Directories).
Linux® Operating Systems
Assume this is a 64-bit installation and the installation directory is "ExampleDir".
To use the shared libraries, create the following symbolic links.
cd ExampleDir/FW_1.0_Lin64/lib
ln -sf ./libfwBase.so.1.0.0 libfwBase.so
ln -sf ./libfwImage.so.1.0.0 libfwImage.so
ln -sf ./libfwJPEG.so.1.0.0 libfwJPEG.so
ln -sf ./libfwSignal.so.1.0.0 libfwSignal.so
ln -sf ./libfwVideo.so.1.0.0 libfwVideo.so
Create similar symbolic links with the .so.1 extension.
To compile a cpp file that uses Framewave, for example test.cpp:
g++ -m64 -c -IExampleDir/FW_1.0_Lin64 test.cpp
All Framewave libraries have dependency on fwBase.
g++ -m64 -LExampleDir/FW_1.0_Lin64/lib test.o -lfwImage -lfwBase
It may be necessary to explicitly link in the stdc++, pthreads, or math libraries if they are not automatically linked in.
Before running the application, make sure the ExampleDir/FW_1.0_Lin64/lib is in the shared library search path for the environment.
Sun® Solaris® Operating Systems
Assume this is a 64-bit installation and the installation directory is "ExampleDir".
To use the shared libraries, create the following symbolic links.
cd ExampleDir/FW_1.0_Sol64/lib
ln -sf ./libfwBase.so.1.0.0 libfwBase.so
ln -sf ./libfwImage.so.1.0.0 libfwImage.so
ln -sf ./libfwJPEG.so.1.0.0 libfwJPEG.so
ln -sf ./libfwSignal.so.1.0.0 libfwSignal.so
ln -sf ./libfwVideo.so.1.0.0 libfwVideo.so
Create similar symbolic links with the .so.1 extension.
To compile a cpp file that uses Framewave, for example test.cpp:
CC -m64 -c -IExampleDir/FW_1.0_Sol64 test.cpp
All Framewave libraries have dependency on fwBase.
CC -m64 -LExampleDir/FW_1.0_Sol64/lib test.o -lfwImage -lfwBase -lrt
Before running the application, make sure the ExampleDir/FW_1.0_Sol64/lib is in the shared library search path for the environment.
Apple® Mac OS® Operating Systems
Assume this is a 64-bit installation and the installation directory is "ExampleDir".
To use the shared libraries, create the following symbolic links.
cd ExampleDir/FW_1.0_Mac64/lib
ln -sf ./libfwBase-1.0.dylib libfwBase.dylib
ln -sf ./libfwImage-1.0.dylib libfwImage.dylib
ln -sf ./libfwJPEG-1.0.dylib libfwJPEG.dylib
ln -sf ./libfwSignal-1.0.dylib libfwSignal.dylib
ln -sf ./libfwVideo-1.0.dylib libfwVideo.dylib
Create similar symbolic links with the .1.dylib extension.
To compile a cpp file that uses Framewave, for example test.cpp:
g++ -m64 -c -IExampleDir/FW_1.0_Mac64 test.cpp
All Framewave libraries have dependency on fwBase.
g++ -m64 -LExampleDir/FW_1.0_Mac64/lib test.o -lfwImage -lfwBase
It may be necessary to explicitly link in the stdc++, pthreads, or math libraries if they are not automatically linked in.
Before running the application, make sure the ExampleDir/FW_1.0_Mac64/lib is in the shared library search path for the environment.
This section describes how to resolve errors that occur while linking code to the Framewave static library for Microsoft® Windows® operating systems. This information does not apply to code that links to the dynamic DLL (shared) version of the Framewave library for Microsoft Windows, or to versions of the Framewave library for other operating systems.
Framewave static libraries for Microsoft Windows have a dependency on Microsoft Visual C++ 2005 C run-time libraries. The project (executable or DLL) also has a dependency on the C run-time library. The linker automatically links to the run-time library used by the static library as well as to the run-time library specified in the project settings. A version mismatch between the library in the static library and the library specified in the project can cause the linker to display error messages and terminate.
To resolve this issue, use a static run-time library in the project.
Most code generated by the Visual C++ compiler has some dependency on the C runtime libraries. Microsoft provides several different flavors of the run-time libraries (static vs. dynamic (DLL), debug vs. release), and functions are implemented differently in each flavor. These differences can cause linker errors if a project is linked to the wrong library flavor. The runtime library flavor is normally specified by a compiler switch (/MT, /MTd, /MD, /MDd). Mixing different library types in the same module (executable or DLL) can also lead to various linker or run-time issues, and is not recommended.
For more information see: