1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Installing and using the SDK

Discussion in 'Civ4 - Creation & Customization' started by Kael, Apr 13, 2006.

  1. Asaf

    Asaf Sleep Deprived

    Joined:
    Mar 22, 2010
    Messages:
    1,326
    @Thunderbrd - well, now you lost me.
    I don't understand what you don't understand, or what kind of information you need and can't find.

    I tried giving you an overview of the components (I admit it lacked in details, but I didn't want to write too much), but apparently you need something more.

    Try asking specific questions.
     
  2. need my speed

    need my speed Rex Omnium Imperarium

    Joined:
    Oct 3, 2009
    Messages:
    2,191
    Gender:
    Male
    Location:
    European Union (Magna Batavia)
    Well, that also doesn't work, I can't install it. First, it stopped after, I guess, it had completed a sixth of the install bar, and after waiting something like 10 minutes, I closed it. It couldn't be closed though, it needed to do something, so I waited for it to do whatever it wanted to, but after 5 minutes with again no progress, I used Ctrl Alt Delete to close it. Now, however, I can't even launch the installation process, because the Windows installer is installing something else, or whatever it sayed. Restarting the computer solves nothing, and it sure isn't installing anything else. It also isn't sneakily working on the background, as far as I can see with the task manager.
     
  3. Thunderbrd

    Thunderbrd C2C War Dog

    Joined:
    Jan 2, 2010
    Messages:
    28,441
    Gender:
    Male
    Location:
    Las Vegas
    My last comments weren't really aimed at you. And yeah, I may have some questions but I'll wait til' I've done this a couple times before asking them.



    I had an easy time downloading that file the first time around but I'm having a bit of similar trouble now. It seems that once you've tried to use that file once, it doesn't like you trying to use it again so it takes redownloading... hmph. I'll have more advice on the subject later.
     
  4. Baldyr

    Baldyr "Hit It"

    Joined:
    Dec 5, 2009
    Messages:
    5,530
    Location:
    Sweden
    I agree, but just looking at the SDK makes me think that it would be no fun to edit it. :p I guess it would be worth the effort nonetheless. But I do mod and code for fun.

    Yeah, I can totally sympathize. But in this case I would be soo happy if I could just hit a button and the whole thing would sort itself out. (Especially since its not supposed to be a process where you need to set any parameters differently every time or make any other considerations. Just repeat the same steps as last time, and hope that you haven't forgotten how to jump through some of those hoops.)

    I wouldn't even mind all the waiting for the end result. So I don't really feel the need to understand any of it, because, well, its technical. I'm that way about the car, also. :lol:
     
  5. Thunderbrd

    Thunderbrd C2C War Dog

    Joined:
    Jan 2, 2010
    Messages:
    28,441
    Gender:
    Male
    Location:
    Las Vegas
    Having a bit of trouble with this too... It seems to download every so often and I'm wondering if its my hazy internet connection causing trouble. So far, after many attempts, the best result I've had so far was to remove the program entirely and start again. But I'm reluctant to do that again since I seem to have a good amount of the program elements fully in place already and it really takes a heck of a long time to download.

    The first time I downloaded this (and it seemed to be successful at the time) I had 2010 express installed... I wonder if that simplified it somehow. Anyhow, if you have trouble trying to run the installer again, it seems to be because the installer does these intermittent downloads throughout the process and will check to see if it is a 'signed' file, a status which seems to only work the first time you try to use the file so it needs redownloaded on every attempt.

    I'm thinking of trying the ISO version if this doesn't work out too well and we'll see if that works any better. Might be a longer download but the thing really needs to download EVERYTHING and then have a go at installing I think.
     
  6. need my speed

    need my speed Rex Omnium Imperarium

    Joined:
    Oct 3, 2009
    Messages:
    2,191
    Gender:
    Male
    Location:
    European Union (Magna Batavia)
    Well, it seems that somehow, today, without doing anything new other than double clicking on the .exe yet again, it actually could remove itself and then install itself... But how can I merge the CvGameCoreDLL.dll's of RevDCM and that of the BonusCommerceModifiers mod (which I found in this topic (http://forums.civfanatics.com/showthread.php?t=405005))?

    EDIT: Copied from another thread:

    Well, I've tried everything, but still, the compiling doesn't work. Here's what I do and have, exactly:

    I have created a MyMod folder in BTS, in it are the files:

    CvGameCoreDLL.ncb
    CvGameCoreDLL.sln
    CvGameCoreDLL.vcproj
    What seems to be a backup presumely caused by a failed compilation, CvGameCoreDLL.vcproj.*the computer's / user's name*
    a .7z file that I downloaded from your guide
    depends
    Makefile
    MakefileORG (the one where I hadn't changed the path locations, thus, the original, hence the ORG)
    sources.mk

    And any other files from your guide which I needed, including the map CvGameCoreDLL if I remember correctly. Your guide said something about opening a file inside that map, if I remember correctly, although I hadn't put that file in that map, but instead, just in the MyMod folder. I tried both ways anyway. Both, however, gave an error, it couldn't find a location, the path was wrong, something like that.

    Then, experimenting, I also put in the BTS folders, and overwrote those with the RevDCM folders (which I already had merged with that BonusCommerceModifiers mod). Yet, still, a path was wrong, it gave the same error. As was to be expected.

    1>------ Build started: Project: CvGameCoreDLL, Configuration: Release Win32 ------
    1>Performing Makefile project actions
    1>Microsoft (R) Program Maintenance Utility Version 9.00.30729.01
    1>Copyright (C) Microsoft Corporation. All rights reserved.
    1>Het bestand is niet gevonden
    1>Het bestand is niet gevonden
    1> "C:\Program Files (x86)\Microsoft Visual Studio 9.0\bin\cl.exe" /nologo /MD /O2 /Oy /Oi /G7 /DNDEBUG /DFINAL_RELEASE /Fp"Release\CvGameCoreDLL.pch" /GR /Gy /W3 /EHsc /Gd /Gm- /DWIN32 /D_WINDOWS /D_USRDLL /DCVGAMECOREDLL_EXPORTS /Yu"CvGameCoreDLL.h" /IBoost-1.32.0/include /IPython24/include /I"C:\Program Files (x86)\Microsoft Visual Studio 9.0/include" /I"C:\Program Files (x86)\WindowsSDK/Include" /I"C:\Program Files (x86)\WindowsSDK/Include/mfc" /I"C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\CvGameCoreDLL\Boost-1.32.0/include" /I"C:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\CvGameCoreDLL\Python24/include" /YcCvGameCoreDLL.h /Fo"Release\_precompile.obj" /c _precompile.cpp
    1>C:\Program wordt niet herkend als een interne
    1>of externe opdracht, programma of batchbestand.
    1>NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\bin\cl.exe' : return code '0x1'
    1>Stop.
    1>Project : error PRJ0019: A tool returned an error code from "Performing Makefile project actions"
    1>Build log was saved at "file://c:\Program Files (x86)\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\MyMod\Release\BuildLog.htm"
    1>CvGameCoreDLL - 2 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

    Well, that's the error. I'm guessing I'm doing something stupid, but I can't figure out what...
     
  7. jack_chen

    jack_chen Chieftain

    Joined:
    Dec 27, 2011
    Messages:
    1
    Learn good things
    Thank you friends
     
  8. Comrade_Angel

    Comrade_Angel Chieftain

    Joined:
    May 28, 2012
    Messages:
    11
    Not sure if we're allowed to still post here, but:

    I followed the instructions in the first thread to the 'T'. Well, not really, obviously, otherwise it would've worked - I'm just an incredible . Upon clicking 'Build' I got the following:

    Spoiler :
    ||=== Build: Final Release Win32 in CvGameCoreDLL (compiler: Microsoft Visual C++ Toolkit 2003) ===|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\_precompile.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvArea.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvArtFileMgr.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvCity.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvCityAI.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDeal.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDiploParameters.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDLLButtonPopup.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDLLEntity.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDLLPython.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDllPythonEvents.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDllTranslator.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvDLLWidgetData.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvEventReporter.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvFractal.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvGame.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvGameAI.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvGameCoreDLL.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvGameCoreUtils.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvGameInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvGameTextMgr.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvGlobals.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvHallOfFameInfo.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvInfos.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvInfoWater.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvInitCore.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvMap.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvMapGenerator.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvMessageControl.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvMessageData.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvPlayer.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvPlayerAI.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvPlot.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvPlotGroup.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvPopupInfo.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvPopupReturn.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvRandom.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvReplayInfo.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvReplayMessage.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvSelectionGroup.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvSelectionGroupAI.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvStatistics.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvStructs.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvTalkingHeadMessage.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvTeam.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvTeamAI.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvUnit.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvUnitAI.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvXMLLoadUtility.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvXMLLoadUtilityGet.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvXMLLoadUtilityInit.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CvXMLLoadUtilitySet.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyArea.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyAreaInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyArgsList.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyArtFileMgr.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyArtFileMgrInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyCity.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyCityInterface1.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyDeal.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyEnumsInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGame.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGameCoreUtils.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGameCoreUtilsInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGameInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGameTextMgr.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGameTextMgrInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGlobalContext.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGlobalContextInterface1.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGlobalContextInterface2.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGlobalContextInterface3.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyGlobalContextInterface4.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyHallOfFameInfo.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyHallOfFameInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyInfoInterface1.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyInfoInterface2.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyInfoInterface3.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyMap.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyMapGenerator.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyMapGeneratorInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyMapInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyMessageControl.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyMessageControlInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyPlayer.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyPlayerInterface1.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyPlayerInterface2.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyPlot.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyPlotInterface1.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyRandomInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyReplayInfo.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CySelectionGroup.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CySelectionGroupInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyStructsInterface1.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyTeam.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyTeamInterface.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyUnit.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\CyUnitInterface1.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\FAssert.cpp|
    ||WARNING: Can't read file's timestamp: C:\Users\MyName\Desktop\FDialogTemplate.cpp|
    LINK||fatal error LNK1181: cannot open input file 'boost_python-vc71-mt-1_32.lib'|
    ||=== Build failed: 1 error(s), 99 warning(s) (0 minute(s), 2 second(s)) ===|


    Any advice?
     
  9. Jaxx

    Jaxx Chieftain

    Joined:
    Jul 25, 2014
    Messages:
    68
    Location:
    Earth
    Change the "Build target" drop-down to Final Release

    where do I click this. The left side? or in a setting?
     
  10. Alhrath

    Alhrath Warlord

    Joined:
    Jul 18, 2014
    Messages:
    101
    Yeah ! I finally was able to compile under Linux, thanks to your solution !

    After the whole day trying to install visual studio under wine, with nothing even close to a result, I finally decided to give a try on this supposed outdated solution, that came out to be perfectly viable :) Made my first vanilla bts compile yesterday, and my first few modifications are compiling smoothly as I'm writing that. We maybe want to add a note somewhere for those who run civ4 under linux and want to try modding ? The article on the wiki is protected so I can't do it myself ...
     
  11. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,683
    I planned on trying to do that, but haven't got around it to yet. Great work and please do write about it somewhere where I can read it and possibly link to it :)

    Next question is if you can debug in wine. As important as debugging can be, the ability to compile even without debug support is a major milestone.

    I have no idea how to update Modiki. If I did, I would do something like link to an updated makefile
     
    Last edited: Feb 1, 2021
  12. Alhrath

    Alhrath Warlord

    Joined:
    Jul 18, 2014
    Messages:
    101
    Yeah it has been quite a victory to get it running ^^ If you are interested, I'm under wine 1.7.9, winetricked d3dx9, devenum, msvcr100, msxml3, and quartz (not sure if any of these is needed, just added everything that could be usefull :p). All went smoothly except the sdk which didn't finished the install properly, but the files were correctly copied so no harm done.

    Yep, maybe the debug mode is not working properly (actually I didn't try it myself), but it gives you the errors when compiling. So for small changes in the code, it's more than enough.

    For the wiki, yep it would be nice to have some access to it in any way ^^
     
  13. someone765

    someone765 Chieftain

    Joined:
    Dec 1, 2017
    Messages:
    4
  14. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,683
  15. sleepground123

    sleepground123 Chieftain

    Joined:
    Nov 28, 2020
    Messages:
    42
    I used Codeblocks 17.12 and VC++ Toolkit 2003, but the compiler fails to build the project, with error C1034: windows.h: no include path set.
     
  16. sleepground123

    sleepground123 Chieftain

    Joined:
    Nov 28, 2020
    Messages:
    42
    fatal error C1083: cannot open 'sal.h': no such file or directory (Codeblocks 8.02)
     
  17. sleepground123

    sleepground123 Chieftain

    Joined:
    Nov 28, 2020
    Messages:
    42
    I am encountering tons of errors. Since they are all fatal errors, I can only fix the errors one by one. And there would be hundreds of them! :mad:
     
  18. f1rpo

    f1rpo plastics

    Joined:
    May 22, 2014
    Messages:
    939
    Location:
    Germany
    Sounds similar enough to the issue discussed here (missing sal.h):
    https://forums.civfanatics.com/thre...compile-a-new-dll.608137/page-5#post-15981583

    So a different version of the Windows SDK should include that file and perhaps others that you are missing. That being said, I've been using both versions 6.0 and 7.0A of the Windows SDK without problems in the past with Visual Studio. My understanding is that Visual Studio will look in its own folders (e.g. VC\include) for libraries not found in the MSVC toolkit and Windows SDK. Maybe you can get it to work by installing VS2010 (or a similarly old version) alongside the IDE that you want to use (like in this thread about VS2019); maybe an older Codeblocks version (from the WinXP era) would also do.
     
  19. sleepground123

    sleepground123 Chieftain

    Joined:
    Nov 28, 2020
    Messages:
    42
    1. I am using SDK v7.0A and CodeBlocks 8.03(2008). I think installing VS2010 would help.
     
  20. Leoreth

    Leoreth Friend Next Door Moderator

    Joined:
    Aug 23, 2009
    Messages:
    35,002
    Gender:
    Male
    Location:
    Faraway
    Not to shill my own thread, but have you tried this guide? It includes all you need and has been well tested and successfully used by many people. Unless you specifically want to keep using CodeBlocks, it's probably the most painless way to set up your compiler.
     

Share This Page