Sei sulla pagina 1di 2

Requirements - Running

======================
In order to use the library and run included examples, at least this
dependency should be installed:
- Microsoft Visual C++ 2008 SP1 Redistributable Package [1]
These C++ 2008 SP1 libraries are also part of "Microsoft .NET Framework 3.5
Service Pack 1 and .NET Framework 3.5 Family" which can be obtained through
Windows Update.
There are two versions of the redistributable package (one for x86 and one for
x64). Be sure which one is needed.
An optional requirement is:
- LibUsb-Win32 0.1.12.2 [2]
In case support for the PN531USB and PN533USB is needed. LibUsb has serious issu
es
on Windows systems newer than Windows XP (and on 64 bit). See LibUsb support
mailing lists for more information.
Requirements - Development
==========================
This project uses CMake for creating a Visual Studio project from the
source files.
The following software was used to create the libnfc distribution:
- CMake 2.6.4 [3]
- Microsoft Windows SDK for Windows 7 (7.0) [4]
- Microsoft .NET framework 3.5 SP1 (Windows Update)
- LibUsb-Win32 0.1.12.2 (only on Windows XP builds) [2]
- NSIS 2.45 (to create the installer) [5]
- 7-Zip 4.65 (for generating source archive) [6]
This was tested on Windows XP SP3, but should work on Windows Vista and
Windows 7 as well. Even on 64 bit systems.
Building
========
To build the distribution the NMake Makefiles generator of CMake was used. Here
is an example of how to generate a distribution with the above mentioned
requirements fulfilled (it is assumed the CMake binaries are in the system
path, this is optional during installation of CMake):
- Start -> Programs -> Microsoft Windows SDK v7.0 -> CMD shell
- Now it is possible to run CMake and NMake:
C:\Program Files\Microsoft SDKs\Windows\v7.0> cd c:\dev\libnfc-read-only
C:\dev\libnfc-read-only> mkdir bin
C:\dev\libnfc-read-only> cd bin
C:\dev\libnfc-read-only\bin> cmake-gui ..
Now you can configure the build. Press "Configure", specify "NMake Makefiles"
and then you have the opportunity to set some configuration variables. If you
don't want a Debug build change the variable CMAKE_BUILD_TYPE to "Release".
If a non-GUI solution is preferred one can use:
C:\dev\libnfc-read-only\bin> cmake -G "NMake Makefiles"
-DCMAKE_BUILD_TYPE=Release ..
Now run NMake:
C:\dev\libnfc-read-only\bin> nmake package
To create the binary package, or:
C:\dev\libnfc-read-only\bin> nmake package_source
To create the source archive.
NMake will create a shared library for Windows (nfc.dll), and
a library file (nfc.lib) to link your applications against. It will compile
the tools against this shared library. The installer will install the
DLL file in the same directory as the tools as our goal was to be able to
run and install libnfc as a standard user. In a system wide installation
the DLL should be placed in "windows\system32" or any other directory in
the (system) path.
If you want your own tools to use libnfc you have to link them with "nfc.lib"
which can be found in the "lib" directory under the installation root. The
header files can be found under "include" in the installation root.
In a "normal" Windows install this would be:
- "C:\Program Files\libnfc-x.x.x\lib"
- "C:\Program Files\libnfc-x.x.x\include"
You also need to copy the "nfc.dll" file to the same directory as your
application, or install it somewhere in the system path (see above).
CMake can also be used to create the MSVC [7] project files instead of NMake
Makefiles, after which MSVC can be used to compile the project, create an
installer, etc.
Building 64 Bit
===============
Building on native 64 bit should work "out of the box".
It is also possible to "cross compile" for 64 bit systems on a 32 bit system.
This can be accomplished by using the "setenv" command from the shell opened
in the previous section. Try "setenv /?" to see what is available. When cross
compiling the name of the binary installer package generated is not correct,
because CMake does not notice it is cross compiling. It should work fine
however.
References
==========
[1] http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-
A40D-3802B2AF5FC2
[2] http://libusb-win32.sourceforge.net/
[3] http://www.cmake.org
[4] http://msdn.microsoft.com/en-us/windows/bb980924.aspx
[5] http://nsis.sourceforge.net/Main_Page
[6] http://http://www.7-zip.org/
[7] http://www.microsoft.com/express/vc/

Potrebbero piacerti anche