IonicWind Software

Aurora Compiler => General Discussion => Topic started by: Shannara on December 06, 2006, 01:41:51 PM

Title: Stupid I (Static Libraries?)
Post by: Shannara on December 06, 2006, 01:41:51 PM
Here's a question ...

Is there a way to create a .lib (not a dll) in Aurora that can be used in EBasic? If not, will it be possible in the future?
Title: Re: Stupid I
Post by: Mike Stefanik on December 06, 2006, 01:51:22 PM
Set the project type to Static Library. However, I believe Paul has said that he's going to have to make some internal changes to EBasic in order for you to link in the libraries that you create with Aurora.

Title: Re: Stupid I
Post by: J B Wood (Zumwalt) on December 06, 2006, 02:48:15 PM
? I did it no problems.
See my post in the EBasic on it, I'll go into detail in a few hours when I have time to type of some demos going both ways.
Title: Re: Stupid I
Post by: Shannara on December 06, 2006, 02:57:11 PM
Hmm, in that post, you did it for dlls, not stand alone libraries (no dll dependencies).
Title: Re: Stupid I
Post by: J B Wood (Zumwalt) on December 06, 2006, 04:21:17 PM
Then I don't understand what you are trying to do.
I thought the lib files were only to help communicate with dll's (dynamic link libraries)
Title: Re: Stupid I
Post by: Shannara on December 06, 2006, 04:24:42 PM
From what I understand, and experience with other languages. It's possible to create libraries (.lib) files that are compiled into the final executable and provide functionality. No need for DLLs or anything like that.
Title: Re: Stupid I
Post by: J B Wood (Zumwalt) on December 06, 2006, 04:53:55 PM
What you are talking about is the source files.
The source files have all of your functionality in them, all the methods and procedures, in your main source you declare them and use them.
You create .lib files for connecting to dll's

All the lib files are as far as I am aware, are linker files to external dll's.
Title: Re: Stupid I
Post by: Shannara on December 06, 2006, 05:09:13 PM
A good example are userlibs from PureBasic. it compiles your sources into a .lib file (basically), in which other people can use. This helps protect your source and still allow other people to use the functionality w/o dll dependencies. But if I am reading you response correctly, both EBasic and Aurora cannot create user libraries. I am hoping *fingers crossed* that there will be support in the future.
Title: Re: Stupid I
Post by: Mike Stefanik on December 06, 2006, 05:35:06 PM
Quote from: Jonathan (zumwalt) Wood on December 06, 2006, 04:53:55 PM
What you are talking about is the source files.
The source files have all of your functionality in them, all the methods and procedures, in your main source you declare them and use them.
You create .lib files for connecting to dll's

All the lib files are as far as I am aware, are linker files to external dll's.

The .lib files that you see associated with DLLs are called import libraries. They just provide the entry points for the functions in the DLL. A static library (also with a .lib extension) actually brings the code into your executable. No DLLs involved. They're both "libraries", but are very different. What Sync is asking about are static libraries, not import libraries.
Title: Re: Stupid I
Post by: Shannara on December 06, 2006, 05:44:23 PM
Ah .. Thanks for the explanation. I am sorry about that guys, I meant Static Libraries.

More information: http://www.gamedev.net/reference/articles/article1316.asp
Title: Re: Stupid I (Static Libraries?)
Post by: J B Wood (Zumwalt) on December 06, 2006, 06:27:47 PM
Sorry but that is a bit beyond my skills in either language.
In my .Net world, I just make my binary COM compliant  and expose it.
I would assume Aurora can have static members, but don't know for sure.
Title: Re: Stupid I (Static Libraries?)
Post by: Ionic Wind Support Team on December 06, 2006, 06:29:20 PM
Yes just set the project output type to static library. 
Title: Re: Stupid I (Static Libraries?)
Post by: Shannara on December 06, 2006, 07:21:56 PM
Jon, Paul, and Mike, thank you very much for your help :)

I was at work when I started this thread and cant run either EBasic nor Aurora from there.