|
Hi,
Just wondering what is the best way to create a repositry of libraries.
Basically now I have
c:\mylib\include
c:\mylib\lib
Then I might create dlls in say c:\mylib\devel
Then say I have
c:\mylib\devel\lib1
...
c:\mylib\devel\libN
Then in the post link setup I have 1 copy statement to copy the .h to c:\mylib\include
and two copy statements to copy the .lib and the .dll to c:\mylib\lib
Then I add c:\mylib\lib to control->panel->system->environment->path (so the dlls will load)
Then I create c:\mylib\libtest and add mini projects to test each of my libraries.
Basically the question are.
[1] Do I have to manually type the three copy statements in the post link setup each time?
I would like to have a generic stub which is used as I add each library. Can I use a batch file here with Macros?
[2] Is there a better way of doing this? What do most people do?
Regards,
Axe
|
|
|
|
|
I use this convention:
/Lib_x
/bin
/Debug
/Release
/inc
/src
/... The names of the libs and dlls in the /bin folder contain version information and a "D" suffix to indicate debug builds, eg: MyLib10.lib , MyLib10D.lib , etc. A post-build step in the main app's project copies whatever DLLs are needed to its own /Debug or /Release dir.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Thanks ravi,
This is good information, however I think I am asking two questions in one.
The above is an excellent of way partitioning per library (module)
[1] How do you include the version number in the dll? Do you append it dynamically?
Do you have #define VERSION which you increment manually in the dll or is there a more automatic way of doing this?
[2] Having done something similar to the above per library I would like to create a repository of libraries. So basically I want to do something like put c:\mylib\include and c:\mylib\lib in the VS path settings and then I can use the libraries that I have created.
Basically something similar to the DirectX library. So what I did was to copy the .h in the library to c:\mylib\include and the .dll and .lib to c:\mylib\lib. So the .h that would be copied would be /inc // public interface (.h) in your example.
Would I have to create two copies of the library? I guess I would need to create
debug / release libraries.
So that would mean I would have those 3 statements + the other statements to copy the
dlls to the bin directory.
So do I really have to do the 5/6 post link copies every time I create a new library or can I have some generic script to jump into that directory and do the copy.
Regards,
Axe
|
|
|
|
|
axid3j1al wrote:
[1] How do you include the version number in the dll? Do you append it dynamically?
Funny you should ask! I just got done solving this problem. Will post a reply (or better yet, an article) soon.
axid3j1al wrote:
[2] Having done something similar to the above per library I would like to create a repository of libraries.
Gotcha. I guess I'd copy the public .h files to a global /inc folder and the libs and dlls to a global /lib (or /bin ) folder as you yourself suggested. The copy would occur in the post-build step for each library - i.e. it would occur every time you rebuilt a library (which is probably less often than rebuilding apps that use these libs).
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
An article/reply would be great!
Thanks for you help.
At least im on the right track.
Regards,
axe
|
|
|
|
|
Note that this forum topic is not for advertising.
If your program was complete freeware, you should've created an article for it. Now, unfortunately, you should make a presentation of your application and send it to the Code Project staff, so it might get a place in the Product Showcase section.
But advertising under this forum topic is generally considered a bad thing, as there are many many questions to answer and posts to read already
-Antti Keskinen
----------------------------------------------
The definition of impossible is strictly dependant
on what we think is possible.
|
|
|
|
|
A little while ago I asked if you could take the 7 .NET cd's and put it onto dvd. While its not on dvd yet it works on the hard drive.
Here is my initial question under the heading "Installing .NET"
http://www.codeproject.com/script/comments/forums.asp?forumid=1647&fr=426#xx766942xx
By this I mean just mkdir c:\net\install
Then copy disk1-disk7 into net\install
Then run the components update bit.
Then run something like
c:\net\install\progra~1\Microsoft Visual Studio .NET\setup\setupmm\setup.exe
(something like that)
Then when it asks for disk1 point it to c:\net\install.
And yes I tried to compile something under install (which worked).
So on a machine with one cd/dvd drive you can listen to music and install .NET and its way quicker as well due to non cd swapping and the difference in speed between the hard drive and a cd mechanism.
So now you can just put that onto a dvd or just have a file server so that other users can easily install .NET unattended.
So sorry for asking such a basic question.
Regards,
|
|
|
|
|
Yeah i told you so.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
eh?
You said it couldn't be done.
I did it.
Am I missing something?
|
|
|
|
|
I said that you cant install .net by copying its files from one pc to another and tweaking the registry.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
Mr.Prakash wrote:
tweaking the registry
I dont think this is needed!!!
I was born intelligent Education ruined me!.
|
|
|
|
|
S P S wrote:
I dont think this is needed!!!
yeah i know, but he was asking something to do with the registry.
MSN Messenger.
prakashnadar@msn.com
|
|
|
|
|
I guess it should work... I have tried working with putting them in HDD as u did... but in DVD - have to try that...
I was born intelligent Education ruined me!.
|
|
|
|
|
S P S wrote:
I guess it should work... I have tried working with putting them in HDD as u did... but in DVD - have to try that...
Course it will work.
Whats the difference between the cd files getting copied to a specified location or a user doing it?
With the registry I am not sure if .NET puts initial stuff in there when installing or it just saves information in there the first time it is run.
SO I reckon just dragging the folder over from one to the other would get you 90% of the way there.
Seriously its easy.
Install a vanilla install of xp then use norton to keep track of what gets installed.
Install .NET properly then see where the files go and then you can just drag em from machine to machine
|
|
|
|
|
axid3j1al wrote:
Seriously its easy
axid3j1al wrote:
Install a vanilla install of xp
Whats that??
I was born intelligent Education ruined me!.
|
|
|
|
|
What I mean by "vanillia" is a bare bones initial install.
|
|
|
|
|
ok...
I was born intelligent Education ruined me!.
|
|
|
|
|
hey all!
when using rich edit ctrl, I can't insert any unicode string that is not pute English.
I have create an application that have many windows controls, all of them respond
correctly to the unicode string (wchar_t []) that's includs the regular edit class.
however, I need the formatting, font color and size that is offered fy this control.
I didn't find any help on that in the MSDN...
any ideas anybody?
TY
|
|
|
|
|
Did u try finding CHARFORMAT, its a structure that containg all the formating features... pretty useful with richedit ctrl.
|
|
|
|
|
yes it does, but nomatter what font I used (unicode fonts), still nothing but pure English.
|
|
|
|
|
HI all;
I am building an application which should have a tab control on a CDialogBar. Visual C++ gladly added the dockable dialog bar for me but i could not figure out where to put the code to create the tab control since the OnInitDialog() function is simply ineffective. Can anybody please help out. I need to know where i should place my code to create the TAb control on the dialogbar.
I badly need this guys;
THanks
Krugger
|
|
|
|
|
Hi, I can't find any way to resize class arrays
created using "new"
is it right to use C memory allocation functions for class arrays and then call constructors/destructors
|
|
|
|
|
You definitely wouldn't want to use realloc with an object created with new. You need to leave that old C stuff behind.
If you are using MFC CArray or better still STL vector then they will resize themselves as required.
Neville Franks, Author of ED for Windows www.getsoft.com and coming soon: Surfulater www.surfulater.com
|
|
|
|
|
|
If you're using MFC, you can use SetSize() to preallocate a CArray 's storage. This is useful when optimizing deserialization of a collection. The size of the collection will grow as you add more elements.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|