Announcement

Collapse
No announcement yet.

Compiling the SDK

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • padillah
    replied
    And after a good look around, I can't figure out how to post a question nmor whom to post it to.

    I've subscribed to the mailing list so we'll see if I can get an answer this way.

    Tom P.

    Leave a comment:


  • padillah
    replied
    Originally posted by Sir Ralph

    Boost is a pretty common class library. You can't simply change things there, that would be similar to changing things in the standard template library. Around the template in question is a #if/#endif, which limits the compiler version to at most MS C 13.00, while VC++ 2005 has 14.00. If the boost developers (which are NOT Firaxis) did this, and even named the macro BOOST_WORKAROUND, you don't want to fiddle with it without knowing the consequences for the whole library (which is huge).
    So, apparently the VC2003 issue has nothing to do with Firaxis.

    Tom P.

    Leave a comment:


  • mdbill
    replied
    FYI, I compiled the new CyInfoInterface2.cpp with VC 2003 and that works fine. So the change appears to be OK, just not with VC 2005.

    Leave a comment:


  • mdbill
    replied
    Hold on. Yes, It compiled. But I'm getting CTD. Anoyone else have success?

    Leave a comment:


  • mdbill
    replied
    VC2005 working.
    I just built the dll with Fromafar's solution (choice #1).

    Leave a comment:


  • PJayTycy
    replied
    Has anybody confirmed Fromafar's solution works for compiling in VC 2005 ?

    Especially now M$ has removed the 2003 toolkit, it would be interesting to know if VC2005 can compile.

    Leave a comment:


  • Ari
    replied
    Geez, so it is. I wonder if my downloading it prompted them to realize they still had it on their server. I'd be more than happy to upload it someplace if anyone wants.

    Leave a comment:


  • smacfan
    replied
    Originally posted by Ari
    I went to the archived page on archive.org, and got a valid link to *a* download. I won't know until I actually install it if it's 2003 or simply the newest version pointed to from the same link (which will be later today, since I'm on a 56k, and have to get out anyway)

    http://web.archive.org/web/200604221...displaylang=en

    edit: confirmed that this is indeed the 2003 version.
    Glad you got it, I just checked your web.archive.org link and it's gone from there as well.

    Do you think M$ is trying to send a message? Will they come after us next?

    smacfan

    Leave a comment:


  • Ari
    replied
    I went to the archived page on archive.org, and got a valid link to *a* download. I won't know until I actually install it if it's 2003 or simply the newest version pointed to from the same link (which will be later today, since I'm on a 56k, and have to get out anyway)

    http://web.archive.org/web/200604221...displaylang=en


    edit: confirmed that this is indeed the 2003 version.
    Last edited by Ari; April 22, 2006, 18:24.

    Leave a comment:


  • smacfan
    replied
    Originally posted by Ari
    When I follow the link to get the toolkit, I'm told that "The Visual C++ Toolkit 2003 has been replaced by Visual C++ 2005 Express Edition."

    Given that posts below mention that this cannot compile, am I out of luck? Or can I search for a 2003 version elsewhere? Or am I wrong and the 2005 version is perfectly acceptable?
    Oh my. You are quite correct, M$ seems to have removed that DL since I got it on April 13th.

    I can upload it if someone can host it, it is about 32MB (32,177KB) though, so it needs to be a big HD and fast net connection.

    Don't know the legality of hosting it either, IANAL.

    smacfan

    Leave a comment:


  • Ari
    replied
    When I follow the link to get the toolkit, I'm told that "The Visual C++ Toolkit 2003 has been replaced by Visual C++ 2005 Express Edition."

    Given that posts below mention that this cannot compile, am I out of luck? Or can I search for a 2003 version elsewhere? Or am I wrong and the 2005 version is perfectly acceptable?

    Leave a comment:


  • wgabrie
    replied
    I couldn't build the SDK after following the instructions in the first post. I got a "fatal error C1083 - windows.h not found" when I tried to build the project.

    To fix this I needed to add "C:\Microsoft Visual Studio 8\Microsoft Platform SDK\Include" path to the Project >> build-options >> Final >> Directory list.

    Just thought everyone should know, in case they are having the same problem.

    Leave a comment:


  • Fromafar
    replied
    Originally posted by Locutus
    Nope, 2005 doesn't compile. There's some problem with something in the Boost Python code IIRC (which is outside the SDK). This may well be fixed in the XP (no promises though), but for this SDK it's too late.
    Actually, it will compile with MSVC 2005 after a small change. Frankly, I am somewhat surprised that it does not issue a compiler error in its present form. In CyInfoInterface2.cpp, line 304 is really suspect. I would suggest changing
    Code:
    .def_readwrite("getUniqueRange", &CvBonusClassInfo::getUniqueRange)
    to either
    Code:
    .def("getUniqueRange", &CvBonusClassInfo::getUniqueRange, "int ()")
    for read-only access through a Getter, or
    Code:
    .def_readwrite("iUniqueRange", &CvBonusClassInfo::m_iUniqueRange)
    for direct read-write access to a member variable. In the latter case, you also have to make CvBonusClassInfo::m_iUniqueRange public.

    You would have to ask Firaxis which version is intended.

    Leave a comment:


  • dsplaisted
    replied
    Originally posted by nik9000
    I want to create a framework to allow interrested parties to write AIs and have them all in the same game. My first point of order is to figure out how the game stores its CvPlayer objects and to then define an interface for client AIs that does not allow them to "cheat."

    At this point, I'm looking for where that player information is stored. I know in objects of type CvPlayer, but not where they are kept.
    I am working on something similar, although I am not going to worry about preventing the AI from cheating. I have a feeling it would add a lot of overhead, and if an AI is using compiled code they can bypass your interface and cheat anyway.

    If I remember correctly, the CvPlayer objects are actually CvPlayerAI objects. CvPlayerAI is a subclass of CvPlayer. There is a static array of these objects in CvPlayerAI.h and also a GET_PLAYER macro which will return the object given an id.

    It appears that the enum PlayerTypes is used for the player id. This is kind of confusing because based on the name you would think the enum would be used for something else.

    Daniel

    Leave a comment:


  • nik9000
    replied
    I wish they had spent some more time documenting this thing. Every time I look for something its like trying to stab someone through curtain.

    Edit:
    Its probably worth saying what I'm trying to do and what I'm looking for.

    I want to create a framework to allow interrested parties to write AIs and have them all in the same game. My first point of order is to figure out how the game stores its CvPlayer objects and to then define an interface for client AIs that does not allow them to "cheat."

    At this point, I'm looking for where that player information is stored. I know in objects of type CvPlayer, but not where they are kept.

    Leave a comment:

Working...
X