x64 libs version for game client

Options
Winehouse
edited March 2012 in Native
Hi

I have downloaded free Photon-Win32_v3-0-0-1_SDK.zip, but can't find libs for my x64(Itanium) project.(VS2010)
How can i get them?

Win32 version works fine.
x64 version errors:
3>GameLogic.obj : error LNK2019: unresolved external symbol "public: unsigned char __cdecl ExitGames::OperationResponse::getOperationCode(void)const " (?getOperationCode@OperationResponse@ExitGames@@QEBAEXZ) referenced in function "protected: virtual void __cdecl CPhotonListener::onOperationResponse(class ExitGames::OperationResponse const &)" (?onOperationResponse@CPhotonListener@@MEAAXAEBVOperationResponse@ExitGames@@@Z)
3>GameLogic.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::Hashtable::~Hashtable(void)" (??1Hashtable@ExitGames@@QEAA@XZ) referenced in function "protected: virtual void __cdecl CPhotonListener::onStatusChanged(int)" (?onStatusChanged@CPhotonListener@@MEAAXH@Z)
3>StdAfx.obj : error LNK2001: unresolved external symbol "public: __cdecl ExitGames::Hashtable::~Hashtable(void)" (??1Hashtable@ExitGames@@QEAA@XZ)
3>GameLogic.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::OperationRequest::~OperationRequest(void)" (??1OperationRequest@ExitGames@@QEAA@XZ) referenced in function "protected: virtual void __cdecl CPhotonListener::onStatusChanged(int)" (?onStatusChanged@CPhotonListener@@MEAAXH@Z)
3>GameLogic.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::OperationRequest::OperationRequest(unsigned char,class ExitGames::Hashtable const &)" (??0OperationRequest@ExitGames@@QEAA@EAEBVHashtable@1@@Z) referenced in function "protected: virtual void __cdecl CPhotonListener::onStatusChanged(int)" (?onStatusChanged@CPhotonListener@@MEAAXH@Z)
3>GameLogic.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::Hashtable::Hashtable(void)" (??0Hashtable@ExitGames@@QEAA@XZ) referenced in function "protected: virtual void __cdecl CPhotonListener::onStatusChanged(int)" (?onStatusChanged@CPhotonListener@@MEAAXH@Z)
3>Game.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::JString::~JString(void)" (??1JString@ExitGames@@QEAA@XZ) referenced in function "public: virtual bool __cdecl CGame::CompleteInit(void)" (?CompleteInit@CGame@@UEAA_NXZ)
3>StdAfx.obj : error LNK2001: unresolved external symbol "public: __cdecl ExitGames::JString::~JString(void)" (??1JString@ExitGames@@QEAA@XZ)
3>Game.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::JString::JString(char const * const)" (??0JString@ExitGames@@QEAA@QEBD@Z) referenced in function "public: virtual bool __cdecl CGame::CompleteInit(void)" (?CompleteInit@CGame@@UEAA_NXZ)
3>Game.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::PhotonPeer::PhotonPeer(class ExitGames::PhotonListener *,bool)" (??0PhotonPeer@ExitGames@@QEAA@PEAVPhotonListener@1@_N@Z) referenced in function "public: virtual bool __cdecl CGame::CompleteInit(void)" (?CompleteInit@CGame@@UEAA_NXZ)
3>StdAfx.obj : error LNK2019: unresolved external symbol "public: __cdecl ExitGames::Object::~Object(void)" (??1Object@ExitGames@@QEAA@XZ) referenced in function "public: void * __cdecl ExitGames::Object::`vector deleting destructor'(unsigned int)" (??_EObject@ExitGames@@QEAAPEAXI@Z)
3>F:\MY_PROJECTS\servers\Game.dll : fatal error LNK1120: 9 unresolved externals

Thanks

Comments

  • Kaiserludi
    Options
    Hi.

    Actually there are not currently any native 64bit Photon libs for Windows existing (that is the reason, why the SDK has a 32 in its name).

    The main reason therefor is: Nobody has ever asked for a 64 bit for Windows, as the x64 architecture can execute x86 code pretty well.

    However it seems, that although you write "x64", which normally is used as a synonym for x86-64, meaning AMD64 and Intel64, your actually mean Intel Itanium systems, which are pretty slow in x86 emulation mode.

    Just out of curiosity:
    from wikipedia:
    High-end server market
    When first released in 2001, Itanium's performance, compared to better-established RISC and CISC processors, was disappointing.[4][5] Emulation to run existing x86 applications and operating systems was particularly poor, with one benchmark in 2001 reporting that it was equivalent at best to a 100 MHz Pentium in this mode (1.1 GHz Pentiums were on the market at that time).[6] Itanium failed to make significant inroads against x86-32 or RISC, and then suffered from the successful introduction of x86-64 based systems into the high-end server market, systems which were more compatible with the older x86 applications. Journalist John C. Dvorak, commenting in 2009 on the history of the Itanium processor, said "This continues to be one of the great fiascos of the last 50 years" in an article titled "How the Itanium Killed the Computer Industry".[7] Tech columnist Ashlee Vance commented that the delays and underperformance "turned the product into a joke in the chip industry."[8] In an interview, Donald Knuth said "The Itanium approach...was supposed to be so terrific—until it turned out that the wished-for compilers were basically impossible to write."[9] A former Intel official reported that the Itanium business had become profitable for Intel in late 2009.[10]
    By 2009, the chip was almost entirely deployed on servers made by HP, which had over 95% of the Itanium server market share,[11] making the main operating system for Itanium HP-UX. Both Red Hat and Microsoft have announced plans to drop Itanium support in future versions of their operating systems due to lack of market interest;[12][13] however, other Linux distributions including Debian are available for Itanium. On March 22, 2011, Oracle announced discontinuation of development on Itanium. Support for existing products will continue. On March 22, 2011 Intel reaffirmed its commitment to Itanium with multiple generations of chips in development and on schedule.[14]

    Other markets
    Although remaining in development, and having attained a limited success in the niche of high-end computing, Intel had originally hoped to make Itanium a replacement for the original x86 architecture.[15]
    AMD chose a different direction, designing the less radical x86-64, a 64-bit extension to the existing x86 architecture, which Microsoft then supported, forcing Intel to introduce the same extension in its own x86-based processors.[16] These designs can run existing 32-bit applications at native hardware speed, while offering support for 64-bit memory addressing and other enhancements to new applications.[11] This architecture has now become the predominant 64-bit architecture in the desktop and portable market; although some Itanium-based workstations were initially introduced by companies such as SGI, these are no longer available.
    Summary:
    - Itanium is has never gained any success outside of the high-end server market.
    - even in the high-end server market 95% of the Intanium systems run HP-UX, most of the rest run Linux, nearly no Itanium systems are out there at all running Windows and Microsoft is about to drop support for this architecture in future Windows releases, anyway.

    So, I am wondering, why one would want to use the windows version of a middleware, which is targeting games for a platform, which is a) practically dead, b) not used by gamers anyway and c) rarely using Windows as OS?
  • My mistake.
    I need libs for simple x86-64 (not Itanium).
    Nobody has ever asked for a 64 bit for Windows, as the x64 architecture can execute x86 code pretty well.

    Ok. Thx.
  • Kaiserludi
    Options
    Ah, ok.
    We will have a look, if we can add x86-64 builds anytime soon.
    I hope you can live with just letting your customers run the x86 version of your game until then.
  • Kaiserludi wrote:
    We will have a look, if we can add x86-64 builds anytime soon.

    Thanks. I think it can be usefull for other developers too. Modern game engines have x64 clients.