Crise

Compiling ApexDC++

183 posts in this topic

How to compile ApexDC++

Download the attached text file and follow instructions.

 

Compile.txt

 

How reproduce a release version

For this manually creating the appropriate version file (second approach in the attached file) is recommended. The necessary build id is the fourth version digit that can be seen in the about box or update check dialogs.

 

Creating redistributable binaries (with modifications)

To get a redistributable binary out of the source code distribution we recommend that you set up an svn repository with services such as http://code.google.com/ and use that. Additionally you must change the version check url in the version-template.h (as your assigned build id will be 1 initially which is much lower than ours) and then proceed to digitally sign a new version file with a private key (generated by a toolset such as openssl).

There is a small tool built into ApexDC itself that will do the signing for you, a windows batch file similar to the one below may be used to generate the necessary signature file (version.xml.sign).

 

@echo off
..ApexDC-x64.exe /sign "%CD%version.xml" "%CD%private.key"
..ApexDC-x64.exe /sign "%CD%beta.xml" "%CD%private.key"

There is also an additional switch you will need to specify the first time signing version file with a new key which is -pubout. When this switch is present ApexDC will generate a pubkey.h file corresponding to your private key which should then be used to replace our pubkey.h so that verification will work against your version file pair.

After you have a signed xml, the trick is to make it discoverable by your compiled version of ApexDC by uploading both the .xml and .sign files side by side to the location you specified inside version-template.h (remember to recompile with the correct pubkey.h file).

 

Recompiling ApexDC as a replacement for the release versions on ApexDC.net (for personal use) is not recommended or otherwise supported.

adamrzymski likes this

Share this post


Link to post
Share on other sites

Many thanks but I have just noticed that the link:

"Get the missing natupnp files from: Here and put them to: "

Does not work either, any idea where to get these?

Share this post


Link to post
Share on other sites

Many thanks but I have just noticed that the link:

"Get the missing natupnp files from: Here and put them to: "

Does not work either, any idea where to get these?

now it does :)

Share this post


Link to post
Share on other sites

Hi, apologies for my retardness but I get the error:

Compiling resources...

Deleting old pdb file...

The system cannot find the file specified.

Project : error PRJ0019: A tool returned an error code from "Deleting old pdb file..."

Build log was saved at "file://C:\Documents and Settings\xxx\My Documents\Files\Programs\Apex Compile\ApexDC++_0.2.1_src\apexdc\vc7\Release\StrongDC\BuildLog.htm"

StrongDC - 1 error(s), 0 warning(s)

========== Rebuild All: 7 succeeded, 1 failed, 0 skipped ==========

Ive followed the guide to the letter, only part I could have slipped on was:

Note: IF YOU HAVE SP2 SDK INSTALLED REMOVE IT FROM VS 2005 Include Files

(This was the thing that failed my compilation numerous of times)

If this is the cause of my problem, could you be slightly more specific on how to do this?

Cheers!

Share this post


Link to post
Share on other sites

Hi, apologies for my retardness but I get the error:

Compiling resources...

Deleting old pdb file...

The system cannot find the file specified.

Project : error PRJ0019: A tool returned an error code from "Deleting old pdb file..."

Build log was saved at "file://C:\Documents and Settings\xxx\My Documents\Files\Programs\Apex Compile\ApexDC++_0.2.1_src\apexdc\vc7\Release\StrongDC\BuildLog.htm"

StrongDC - 1 error(s), 0 warning(s)

========== Rebuild All: 7 succeeded, 1 failed, 0 skipped ==========

Ive followed the guide to the letter, only part I could have slipped on was:

Note: IF YOU HAVE SP2 SDK INSTALLED REMOVE IT FROM VS 2005 Include Files

(This was the thing that failed my compilation numerous of times)

If this is the cause of my problem, could you be slightly more specific on how to do this?

Cheers!

just create directory named compiled in your src dir and you are good to go...

Share this post


Link to post
Share on other sites

Excellent, I was being a moron.

Compiled fine now, one last question, how do I go about putting it in an installer?

Share this post


Link to post
Share on other sites

Excellent, I was being a moron.

Compiled fine now, one last question, how do I go about putting it in an installer?

you need to make an installer for it, and for that google is your friend :)

Share this post


Link to post
Share on other sites

I'd like to recommend you NSIS installer. It's free and very powerful.

Share this post


Link to post
Share on other sites

I'd like to recommend you NSIS installer. It's free and very powerful.

i already did that, see my google link :)

Share this post


Link to post
Share on other sites

I just wanted to quickly post (before anyone else wasts hours of there time) and let people know that commpiling in VS 2005 express dose not work due to the lack of ALT libraries in that package

Share this post


Link to post
Share on other sites

Any word on the NSIS script?

Well i don't even have the nsis script, because i don't do our installers... and about you wanting to be identical, i prefer not to have too identical mods of ApexDC out there because of the simple fact that then we here can't easily separate them, if problems would pop up...

Share this post


Link to post
Share on other sites

Thats fair, I have been able to knock one together now anyways, just somewhat less pretty than yours.

Err, mine isnt a mod as such, more a customised version of yours for our Uni.

But still, I take your point, thanks for the help so far :D

Share this post


Link to post
Share on other sites

If there's anything decent you've added, and would suit ApexDC++, please submit it to us. :)

Share this post


Link to post
Share on other sites

Keep getting

Error 1 fatal error C1189: #error : You must use compiled STLPort else you can't use optimized node allocator. d:\Temp\ApexDC++_0.2.2_source\client\stdinc.cpp 28

I'm using STLPort from link above. What might be wrong?

Share this post


Link to post
Share on other sites

Keep getting

Error 1 fatal error C1189: #error : You must use compiled STLPort else you can't use optimized node allocator. d:\Temp\ApexDC++_0.2.2_source\client\stdinc.cpp 28

I'm using STLPort from link above. What might be wrong?

you need to compile the stlport, and i am not sure if the one in the link above is even the one used by sdc 2.02, but this is the one i use: http://www.home.karneval.cz/01027053/STLPort.rar (posted in sdc forums by BM)

I acknowledge that my guide needs updating B) i'll sort it later this weekend... in the mean time why not you guys do some guides too :D

Share this post


Link to post
Share on other sites

404 on this link(

No more, i'll also host that file at apexdc.net at some point as it's not nice to steal someones bw...

Share this post


Link to post
Share on other sites

[sORRY FOR MY ENGLISH, I'M ITALIAN!!!]

Hi, thank for your job, this client is super-beautiful!!!

Well, I have try compile the last version of the source of apexdc (without nothig modding) and i have use wtl_mod and stlport bm (and i compile stlport without error) and i have compiled without error apexdc.exe/apexdc.pdb

BUT...

1) Before starting my apexdc (my compiled) would the file: stlport.5.2.dll and so i get it by directory of stlport\bin and the client start ok. -> WHY IN YOUR APEXDC.EXE THE FILE STLPORT.5.2.DLL IS NOT DEMANDED?

2) Very Often my apexdc.exe (my compliled) on start crash but when start without crash i haven't problem never--> WHY MY COMPILED CRASH ON START IF I DON'T CHANGE NOTHING IN YOUR CODE? (apexdc source is original)

Please help me, i have alway compiled my client from dc++ to reverse connect and now i would compiled this.

Thanks.

Sorry for my english.

Share this post


Link to post
Share on other sites

I'm afraid this have to wait for Crise or another more experienced in C++, but do not worry, your post will be answered soon. :)

Share this post


Link to post
Share on other sites