Writing externals

Frank D. Engel, Jr. fde101 at fjrhome.net
Fri Jan 7 12:53:27 EST 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Jan 7, 2005, at 12:02 PM, Alejandro Tejada wrote:

> on Fri, 7 Jan 2005
> "Frank D. Engel, Jr." wrote:
>
>> I use this one for Windows externals (it's free):
>> http://www.bloodshed.net/devcpp.html
>
> Excellent news!
> Last time i tried to create
> an external in Bloodshed,
> following the instructions,
> all the results were unsucessful.

What instructions?

> Frank, when you have time, please
> post a short tutorial about
> "Creating a RR-compatible
> DLL with Bloodshed"

I forget the exact specifics of what I needed to do (there may have 
been a line or two in one of the SDK headers which I needed to comment 
out or modify), but there was a setting or two in the project which 
needed to be changed to meet the DLL specs provided by Rev.  I doubt 
I'll find time to do a compare anytime soon, but if you let me know the 
specific problems you are having, it might jog my memory enough to 
figure it out quickly.

But certainly, it can be done.

I have version 4.9.9.1.

For starters, an example from one of my project's options:

General
- --------------
Type: Win32 DLL

Files
- --------
Header Files -> (empty)
Resource Files -> external.def
Source Files -> external.c, XCmdGlue.c

Compiler
- ---------------
Compiler -> Default Compiler
C compiler -> No, No, No, No
C++ compiler -> No, No, No
Code Generation -> No, No, No, (blank), (blank)
Code profiling -> No
Linker -> No, No, No, No, No
Optimization -> No
Further optimizations -> No, No, No

Parameters
- ---------------------
Compiler: -D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS 
- -D_USRDLL -DEXTERNAL_EXPORTS
C++ Compiler: -D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS 
- -D_USRDLL -DEXTERNAL_EXPORTS
Linker: -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 
- -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 --def 
external.def


Directories
- -----------------
(all blank)

Build Options
- ---------------------
(blank), (blank)
Override output filename -> yes, with "mydll.dll"  (obvious 
substitution)

Makefile
- --------------
(unchecked, all blank)


Version Info
- ---------------------
(shouldn't matter)


====

and the external.def file

====

LIBRARY "mydll"
EXPORTS
     getXtable   @1


- -----------------------------------------------------------
Frank D. Engel, Jr.  <fde101 at fjrhome.net>

$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFB3syY7aqtWrR9cZoRAm0UAJ4uaypA04NqENj/pHXNyUI4bwUVsACghxbg
Y7Rt8TccPJEfix9ANggNR9c=
=2JBH
-----END PGP SIGNATURE-----



___________________________________________________________
$0 Web Hosting with up to 120MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com



More information about the use-livecode mailing list