[BTS] The Easiest Way to Compile a New DLL

YOURMOD=$(PROGRAMFILES)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC 600AD\CvGameCoreDLL
This is not critical as long as that path exists.
It will just put the successfully compiled new DLL in there.
 
By the way:

Which SDK did you install here?
PSDK=$(PROGRAMFILES)\Civ4SDK\WindowsSDK

Please make a screenshot of the content of the folder.
I would like to see what is in there.

Currently we do not know if you really have the correct SDK.

I attached a screenshot of tthe 3 folders that are in mine.
 

Attachments

  • Windows SDK Folders.png
    Windows SDK Folders.png
    117 KB · Views: 58
Last edited:
Sorry, but I am not talking about Visual Studio.
I am talking about the Windows SDK - which is something different.
 
It is the one Leoreth linked. I don't understand why it doesn't work, I have everything I need then I open the CvGameCore.sln file and the compiling of the dll starts and when it's finished there is no dll.
 
It does not look that bad, so far.
So the only problem you have right now is this here?

Toolkit, SDK and path to the Libs seems to be correct.
If you have Visual Studio 2010 Express as well, it should work.

Just try to compile your first DLL then. :thumbsup:
 
... when it's finished there is no dll.
Where do you look for it?
Please post the path you are looking in.

Quickly looking at your Makefile it should most likely try to copy it in here:

YOURMOD=$(PROGRAMFILES)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC 600AD\CvGameCoreDLL\Assets
 
Where do you look for it?
Please post the path you are looking in.
I have looked in multiple paths, the folder which contains the files that have to become a dll, the Civ4SDK folder, and the Beyond the Sword folder.
I am also 100% sure I have Microsoft Visual Studio 2010 express. The only file that appears is a SDF file named CvGameCoreDLL but when I open it nothing happens.
There already was a CvGameCore.dll file in Assets, do you think it might have been replaced?
EDIT: No it wasn't replaced, the game still uses the original dll. There already are a ton of dll files on my computer named CvGameCore.dll so making the windows file search for it will be pretty useless.
 
Last edited:
The only file that appears is a SDF file named CvGameCoreDLL but when I open it nothing happens.
No, the final file needs to be a .dll

Just make a Windows file search for CvGameCoreDLL.dll.
It should tell you all places where it finds one.

Did you check here?:
$(PROGRAMFILES)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC 600AD\CvGameCoreDLL\Assets

Because it seems like you configured your Makefile that way.
 
Last edited:
Again, the normal DLL of RFC 600AD is here:
$(PROGRAMFILES)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC 600AD\Assets

But your makefile tells to put the new DLL there:
$(PROGRAMFILES)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC 600AD\CvGameCoreDLL\Assets

Please check again.
 
Have you managed to compile a dll using this method?

I am not using your makefile. And I installed my setup differently.
I am using a makefile that matches my setup and Civ4Col.

I can only try to read your makefile and ask where you put stuff. :dunno:
Generally I use the same method though.
 
I'll restart. Delete all the files and retry.

Please first check the path I gave you:
$(PROGRAMFILES)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC 600AD\CvGameCoreDLL\Assets

Not the normal path where the DLL of the mod is:
$(PROGRAMFILES)\Steam\steamapps\common\Sid Meier's Civilization IV Beyond the Sword\Beyond the Sword\Mods\RFC 600AD\Assets

If it compiles without warnings and tells it is "successfull" (including a "copy line") your DLL should be in there.
 
Is the gitignore.gitignore file important?
That should be just for the direct GIT-integration - which I do not use.
It should not matter for compiling a DLL.

You probably better as Leoreth about it. :dunno:
(I am old fashioned and mostly still do stuff like I did the last 12 years ...)
 
If it compiles without warnings and tells it is "successfull" (including a "copy line") your DLL should be in there.
Just to make sure that there is no misuderstanding:

After the compilation, does Visual Studio output say it was "successful" and a second line that says "copied to"?
If not, there is of course no final DLL either.

You need to get a "success" message.
As long as you get errors, there will be no new compiled dll.
 
Top Bottom