BACnet Stack - SourceForge.net
Build for Visual C++ 6.0

When building the BACnet stack using Visual C++ compiler, 
there are some settings that are important.

Q. MSVC refuses to open bacnet.dsw and bacnet.dsp.

A. bacnet.dsw and bacnet.dsp are text files that were retrieved
from CVS on a unix client and are now in unix text file format since
they end with a "\r\n" rather than "\n".  Use the unix2dos commandline
tool to convert them back to dos:
unix2dos bacnet.dsw
unix2dos bacnet.dsp

Q. error LNK2001: unresolved external symbol _WinMain@16

A. The demo ports/win32/main.c was designed as a Win32 Console 
Application.  If you want to change it to a Windows GUI application, 
you will have to add all the Windows GUI code, including WinMain().
I recommend that you use a framework, such as WxWidgets/WxWindows,
but this has not been done yet.

Q. error C1083: Cannot open include file: 'stdint.h': No such file

A. The BACnet stack uses some header files, and Visual C++ needs to know
where they are:
1. Select "Project" menu
2. Select "Settings..."
3. Select the "C/C++" tab (3rd Tab)
4. Select the Category: Preprocessor
5. You can see the "Additional include directories:" box
6. Type the path to stdint.h in that edit box (using a comma if necessary)
7. Type the path to bacdcode.h in that edit box (using a comma if necessary)
In my system, the paths look like:
c:\code\bacnet-stack\,c:\code\bacnet-stack\ports\win32\,
c:\code\bacnet-stack\demo\handler\,c:\code\bacnet-stack\demo\object\
8. Press OK
9. Compile the project again...

Q. error C2065: 'MAX_MPDU' : undeclared identifier

A. The BACnet stack uses a preprocessor define to configure
its datalink layer. In Visual C++, add a Preprocessor Definition by: 
1. Select "Project" menu
2. Select "Settings..."
3. Select the "C/C++" tab (3rd Tab)
4. Select the Category: General
5. You can see the "Preprocessor Definitions:" box
6. Type BACDL_BIP in that edit box (using a comma if necessary)
7. Press OK
8. Compile the entire project again...

Q. error LNK2001: unresolved external symbol __imp__closesocket@4

A. Visual C++ needs to have the Winsock library to be happy:
1. Select "Project" menu
2. Select "Settings..."
3. Select the "Link" tab (4th Tab)
4. You can see "Object/library modules:" edit box
5. Type Wsock32.LIB in that edit box
6. Press OK
7. Compile the entire project again...

Q. error C2061: in file tsm.c
A. The BACnet stack uses a preprocessor define to configure
client functionality in the Transaction State Machine (TSM). 
In Visual C++, add a Preprocessor Definition by: 
1. Select "Project" menu
2. Select "Settings..."
3. Select the "C/C++" tab (3rd Tab)
4. Select the Category: General
5. You can see the "Preprocessor Definitions:" box
6. Type MAX_TSM_TRANSACTIONS=0 in that edit box (using a comma if necessary)
7. Press OK
8. Compile the entire project again...
