Kbase 17178: Hint on Win32 link scripts GUI vs console apps with ESQL
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
Hint on Win32 link scripts GUI vs console apps with ESQL
DRAFT COPY - Currently under review and edit.
INTRODUCTION:
=============
With the introduction of PROGRESS 8.2 for Windows, PROGRESS is now a
32-bit Windows application (Win32). The Win32 world supports two
diferent user interfaces: GUI and Console mode.
This introduces some confusion in the usage of probuild to build
ESQL/C applications and other PROGRESS executables.
WHY YOU NEED TO KNOW THIS:
===========================
An ESQL/C application for Win32 could be either GUI or Console mode.
PROBUILD will default to GUI, if you're building a ESQL/C Console mode
application, you will have to perform changes to the link script to
successfully link the application.
Also, probuild currently generates GUI options on the link scripts for
some console mode executables, like a DataBase Server and others. If
you're having trouble probuilding those executables, this kbase
explains what need to be changed on the link script to resolve that
problem.
Development is aware of those issues.
PROCEDURAL APROACH :
====================
For GUI applications, the following lines should be on your link
response file (.lnk file):
/SUBSYSTEM:windows,4.0
/ENTRY:WinMainCRTStartup
The argument to the /ENTRY function is case-sensitive.
For console mode applications, the following lines should be on your
link response file (.lnk file). This option also applies for all
PROGRESS applications that have no user interface like the database
server, open interface broker, remote dataserver servers, ...
/SUBSYSTEM:console,4.0
/ENTRY:mainCRTStartup
If the wrong /SUBSYSTEM and/or wrong /ENTRY options are used,
undefined symbol errors will happen, usually for _main and WinMain.
Note that undefined symbol errors can happen due to many other
reasons, this is only one of the possible causes of that error.
ONLINE PROCEDURES OR UTILITIES:
===============================
link.exe
probuild
REFERENCES TO WRITTEN DOCUMENTATION:
====================================
PROGRESS System Administration Guide - Apendix B and other portions
Microsoft Visual C++ documentation
Progress Software Technical Support Note # 17178