- 0
[C++][MSVC] Cannot resolve this Linker error LNK2019, DirectX related
-
Recently Browsing 0 members
- No registered users viewing this page.
-
Posts
-
By hellowalkman · Posted
More Microsoft Account headaches: Office 2024 licensing bug finally gets detailed fix by Sayan Sen Microsoft often highlights the benefits of a Microsoft account (MSA) as it points out the unified access users get across devices and services like Windows, Office, OneDrive, and Xbox, which can help in synchronization of files and settings for convenience. That is also why it is a mandatory requirement during Windows 11 installs. However, there can be major problems too. For example, earlier this month, we reported on an incident wherein a Windows user was locked out of their Microsoft Account when Windows flagged their OneDrive upload activities, and apparently there was no way to recover their account. We discussed how, in such a case, users can lose all their data, especially if it's BitLocker encrypted, which is not all that unlikely on Windows 11 24H2. You can read the story in full in this article here. Meanwhile, on the topic of MSA, Microsoft has finally released a detailed step-by-step guide for fixing the Office 2024 licensing bug. The tech giant had already published an update earlier back in December last year. While that was supposed to fix the issue, the problem likely persisted for many users. For those who need a refresher, users whose Microsoft accounts held licenses for both Office 2024 and earlier editions like Office 2021. After upgrading to Office 2024, the MSA continued to display the older version. At the time, Microsoft only stated that installing the latest version of the Office 2024 app would fix the issue. This week, though, a detailed guide has been shared. The company writes: You can find the support article here on Microsoft's official website. -
By sophiaisabella32 · Posted
Hey Neowin folks, I’m struggling with my Samsung QLED Q80C smart TV’s Wi-Fi dropping randomly. It connects to my 5GHz network but loses signal every 20–30 minutes, interrupting streaming. Details: Device: Samsung QLED Q80C (2023 model), Tizen OS, firmware updated to latest (May 2025). Network: TP-Link Archer AX73 router, Wi-Fi 6, 5GHz band, WPA3 security. Environment: TV ~10 feet from router, no major interference (tested without microwave or cordless phones). Setup: Streaming Netflix, YouTube via built-in apps; issue persists across apps. Steps Tried: Restarted TV, router, and modem. Switched to 2.4GHz band—same issue, slower speed. Assigned static IP to TV in router settings. Reset TV network settings and reconnected. Checked router logs; no disconnect errors logged. Searched Neowin; found a 2024 thread on Wi-Fi issues but no TV-specific fixes. Expected: Stable Wi-Fi connection for uninterrupted streaming. Actual: Wi-Fi drops every 20–30 minutes, requiring manual reconnect. Has anyone faced Wi-Fi dropouts on Samsung QLED TVs or Tizen OS? Could it be a firmware bug or router setting? Any debug tips or workarounds? Thanks for any ideas! -
By pmrd · Posted
I can see why you would need an AI browser -
By harvaparva · Posted
Time to move to the lighter and now powerful Linux -
By hellowalkman · Posted
if you get your MSA locked and can't recover it, and if you are on win 11 24H2 that can do automatic encryption (on Home editions too), then the BitLocker key goes with that account.
-
-
Recent Achievements
-
sophiaisabella32 earned a badge
Conversation Starter
-
Brett76 earned a badge
First Post
-
78andyp earned a badge
One Year In
-
Cottonbud earned a badge
One Month Later
-
langat earned a badge
One Month Later
-
-
Popular Contributors
-
Tell a friend
Question
The Teej
Okay guys and gals, I am absolutely 100% stumped on this one. I genuinely cannot seem to resolve this one. I've been trying for 5 days, experimenting, googling, all to no avail. I usually like to solve my own coding problems and try for as long as I can to resolve it, but this time I need some outside advice!
Basically, I'm using DirectX for my input. I have a CInput class using dinput.h to grab keyboard inputs. My compiler is MSVC++ 2010.
CInput.h
CInput.cpp
// input.cpp: implementation of the Cinput class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Input.h"
#include <windows.h>
#include <OBJBASE.H>
extern HWND g_hWnd;
extern HINSTANCE hInst;
LPDIRECTINPUT lpdi; //pointer to direct input object
LPDIRECTINPUTDEVICE lpdikey; //the keyboard device
//storage for keyboard state
UCHAR keystate[256];
UCHAR oldkeystate[256];
bool keydown[256];
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CInput::CInput()
{
if (DirectInputCreateA(hInst, DIRECTINPUT_VERSION, &lpdi, NULL)!=DI_OK)
{
// DirectInput not available; take appropriate action
}
//create keyboard device
if(lpdi->CreateDevice(GUID_SysKeyboard, &lpdikey, NULL)!=DI_OK)
{
//error
}
//set cooperation level
if(lpdikey->SetCooperativeLevel(g_hWnd, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)!=DI_OK)
{
//error
}
//set data format
if(lpdikey->SetDataFormat(&c_dfDIKeyboard)!=DI_OK)
{
//error
}
//acquire the keyboard device
if(lpdikey->Acquire()!=DI_OK)
{
//error
}
}
CInput::~CInput()
{
//unaquire keyboard
lpdikey->Unacquire();
lpdi->Release();
}
//this method refreshes the CInput class's data on which keys are currently down
//this data is stored in an array called keystate[ ]
void
CInput::GetInput()
{
//copy old keystate array
int i;
for (i=0;i<256;i++)
{
oldkeystate[i]=keystate[i];
}
if (lpdikey->GetDeviceState(256,keystate)!=DI_OK)
{
//error
}
//now check which keys are now down that weren't down last time
for (i=0;i<256;i++)
{
if ((keystate[i]>0)&&(oldkeystate[i]==0))
{
//key is now down and it wasn't before
keydown[i]=1;
}
else
{
keydown[i]=0;
}
}
}
//use this method with DirectX character constants
//which are defined in dinput.h such as DIK_SPACE
//relies on the GetInput( ) method being called first to
//update the data on which keys are currently down
//if this method doesn't seem to work then make sure you
//are calling GetInput( ) first!!!
bool
CInput::GetIfKeyDown(int whichkey)
{
if ((whichkey>256)|(whichkey<0)) return 0;
return (bool)(keystate[whichkey] & 0x80);
}
//method returns 1 or 0 depending on whether
//specified key has just been pressed
bool
CInput::GetIfKeyDownEvent(int whichkey)
{
if ((whichkey>256)|(whichkey<0)) return 0;
return (bool)(keydown[whichkey]);
}
CInput * CInput::Instance()
{
if (0==_instance)
{_instance=new CInput();
}
return _instance;
}
CInput * CInput::_instance=0;
[/CODE]
When I go to make a build, however, it compiles the code but throws up the linker error which I told you about. Here's my output from building:
1> Generating Code...
1>Input.obj : error LNK2019: unresolved external symbol _DirectInputCreateA@16 referenced in function "protected: __thiscall CInput::CInput(void)" (??0CInput@@IAE@XZ)
1>D:\Developer\ttSideScrollerWin32 - 2011 version\Debug\ttSideScrollerWin32.exe : fatal error LNK1120: 1 unresolved externals
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
[/CODE]
From what I've read, LNK2019 usually gets thrown when something isn't being included in your project or hasn't been defined. However, the CInput Constructor has definitely been defined in my header, with both CInput.h and CInput.cpp included in my project. DirectX SDK is definitely installed, my Linker Input in my Project Properties includes dxguid.lib, dinput.lib and dinput8.lib. My VC++ Directories for Input and Libraries explicitly include DirectX SDK's folders for Input and Libraries. I've gone through everything I can think of, but everything seems to be in place. I presume it's some sort of compiler issue of some kind, and one that's probably beyond my expertise. However, I'm open to any suggestions. I'm returning to programming after a fair few months of inactivity and so I'm a little rusty, which probably hasn't helped me solve this issue.
So, please Neowin, help me!!!
Link to comment
https://www.neowin.net/forum/topic/1123272-cmsvc-cannot-resolve-this-linker-error-lnk2019-directx-related/Share on other sites
2 answers to this question
Recommended Posts