Solved

LINK : fatal error LNK1104: cannot open file 'dplayx.lib', when trying to compile Dark GDK

Posted on 2008-11-01
8
1,733 Views
Last Modified: 2013-12-14
Hello experts :-)

I am Visual C++ newbie.

I am trying to build and run sample projects provided with Visual C++ 2008 express edition but get such an error:

LINK : fatal error LNK1104: cannot open file 'dplayx.lib'

I have this file in two locations on my computer:

D:\Program Files\Microsoft DirectX SDK (August 2007)\Lib\x64
D:\Program Files\Microsoft DirectX SDK (August 2007)\Lib\x86

Question:

how do I guide VC++ to find/ open this file?
And which one to choose?

Thank u

panJames
0
Comment
Question by:panJames
  • 4
  • 3
8 Comments
 
LVL 9

Expert Comment

by:mgonullu
ID: 22856991
Did you set the path of the library directory to your project setting?
0
 

Author Comment

by:panJames
ID: 22857402
How can I do it?

panJames
0
 
LVL 9

Expert Comment

by:mgonullu
ID: 22857478
http://msdn.microsoft.com/en-us/library/wkze6zky(VS.80).aspx

Right click on Solution, then click on References then add the path
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 

Author Comment

by:panJames
ID: 22857527
I did add my path into:

<right click> References -> Framework and References -> Add Path

D:\Program Files\Microsoft DirectX SDK (August 2007)\Lib\x86

but it didn't help and I still get the same error message:

------ Build started: Project: Dark Dungeon, Configuration: Release Win32 ------
Linking...
LINK : fatal error LNK1104: cannot open file 'dplayx.lib'
Build log was saved at "file://d:\Program Files\The Game Creators\Dark GDK\Samples\Visual Studio 9\Dark Dungeon\Release\BuildLog.htm"
Dark Dungeon - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


panJames
0
 
LVL 9

Expert Comment

by:mgonullu
ID: 22857556
can you see the file in the Game directory?
if not install it from here:http://www.cubic.org/player/doc/node69.htm


Also see this
0
 

Author Comment

by:panJames
ID: 22857649
I copied dplayx.lib to Game folder, now it compiles (why do I need to copy lib files into the Game folder anyway?). Now I get a bunch of other error messages:

------ Build started: Project: Dark Dungeon, Configuration: Release Win32 ------
Linking...
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPSPGUID_TCPIP referenced in function "public: int __thiscall CNetwork::SetNetConnections(int)" (?SetNetConnections@CNetwork@@QAEHH@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPSPGUID_IPX referenced in function "public: int __thiscall CNetwork::SetNetConnections(int)" (?SetNetConnections@CNetwork@@QAEHH@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _CLSID_DirectPlay referenced in function "private: static int __stdcall CNetwork::StaticGetConnection(struct _GUID const *,void *,unsigned long,struct DPNAME const *,unsigned long,void *)" (?StaticGetConnection@CNetwork@@CGHPBU_GUID@@PAXKPBUDPNAME@@K1@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _IID_IDirectPlay4A referenced in function "private: static int __stdcall CNetwork::StaticGetConnection(struct _GUID const *,void *,unsigned long,struct DPNAME const *,unsigned long,void *)" (?StaticGetConnection@CNetwork@@CGHPBU_GUID@@PAXKPBUDPNAME@@K1@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPAID_ComPort referenced in function "public: int __thiscall CNetwork::FindNetSessions(char *)" (?FindNetSessions@CNetwork@@QAEHPAD@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPSPGUID_SERIAL referenced in function "public: int __thiscall CNetwork::FindNetSessions(char *)" (?FindNetSessions@CNetwork@@QAEHPAD@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPAID_Phone referenced in function "public: int __thiscall CNetwork::FindNetSessions(char *)" (?FindNetSessions@CNetwork@@QAEHPAD@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPSPGUID_MODEM referenced in function "public: int __thiscall CNetwork::FindNetSessions(char *)" (?FindNetSessions@CNetwork@@QAEHPAD@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPAID_INet referenced in function "public: int __thiscall CNetwork::FindNetSessions(char *)" (?FindNetSessions@CNetwork@@QAEHPAD@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _DPAID_ServiceProvider referenced in function "public: int __thiscall CNetwork::FindNetSessions(char *)" (?FindNetSessions@CNetwork@@QAEHPAD@Z)
multiplayer.lib(CNetwork.obj) : error LNK2019: unresolved external symbol _IID_IDirectPlayLobby2A referenced in function "public: int __thiscall CNetwork::FindNetSessions(char *)" (?FindNetSessions@CNetwork@@QAEHPAD@Z)
.\Release/Dark Dungeon.exe : fatal error LNK1120: 11 unresolved externals
Build log was saved at "file://d:\Program Files\The Game Creators\Dark GDK\Samples\Visual Studio 9\Dark Dungeon\Release\BuildLog.htm"
Dark Dungeon - 12 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


panJames
0
 
LVL 9

Accepted Solution

by:
mgonullu earned 450 total points
ID: 22858074
0
 
LVL 1

Assisted Solution

by:suryaxchange
suryaxchange earned 50 total points
ID: 22865035
Let me tell you some basics regarding the libraries:

When a code is using any library, the library need to be in the current directory where the created executable will be residing when compiling the code or set the environment variable to add the path where the library is residing.

Or specify the path in the visual studio environment.In visual studio application

GoTo Project Menu->Properties option

Here select linker option in the left tree view. In the right list control you have a option by name additional library directories there you can specify absolute/relative path where the library is residing.

If the specified library still uses any further additional libraries then even those libraries paths need to specified. I think in your case I see the same problem.

-Surya
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: SunnyDark
This article's goal is to present you with an easy to use XML wrapper for C++ and also present some interesting techniques that you might use with MS C++. The reason I built this class is to ease the pain of using XML files with C++, since there is…
Here is a helpful source code for C++ Builder programmers that allows you to manage and manipulate HTML content from C++ code, while also handling HTML events like onclick, onmouseover, ... Some objects defined and used in this source include: …
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

816 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now