

If you look into the current source engine build, you will notice Valve uses macros such as Q_strncpy, Q_memset, which are all defined in a particular file, which associates macros to C standard functions based on OS, build configuration. warning.h is to help setup preprocessors to enable or disable the fix, while vstdlib.h includes macros to make future POSIX transitions easier. To solve this, I created two files: warning.h vstdlib.h in public/vstdlib. The POSIX name for this item is deprecated. In short, no more required warning suppression to prevent compiler from generating warnings such as:


In addition to this, the fix prevents typical warnings such as precision loss, unreferenced variables, already defined macros, and other warning seen in the current master branch from being triggered.
#COULD NOT LOAD LIBRARY CLIENT CS GO NOSTEAM CODE#
Hope this little "story" will be useful to you or any other modder which has the same the fact that the following message is not related to client.dll loading, but since it concerns most users struggling with VS versions or still are using ulterior versions such as VS2010, I believe it would be better to let as many people be aware of the following:Īs promised, I managed to fix source code related issues related to warnings/deprecate, except for CRT functions, as using CRT recommended functions would require certain tweaks in various files, such as extra arguments. I had no more Can't find address and got my CCTFFlag::CTFFlagThink spam, also touches were detected, in other words: everything worked like a charm. Void CCTFCaptureZone::CTFCaptureZoneTouch( CBaseEntity *pEntity )ĪLERT( at_console, "CCTFCaptureZone::CTFCaptureZoneTouch \n " ) SetTouch( &CCTFCaptureZone::CTFCaptureZoneTouch ) Void EXPORT CTFCaptureZoneTouch( CBaseEntity *pEntity ) Void CCTFFlag::CTFFlagTouch( CBaseEntity *pEntity )ĪLERT( at_console, "CCTFFlag::CTFFlagTouch \n " ) Void EXPORT CTFFlagTouch( CBaseEntity *pEntity ) ĪLERT( at_console, "CCTFFlag::CTFFlagThink \n " ) I opened the console and took a look a bit after the server started and I saw the Can't find address lines.Īfter 20 minutes of raging, tweaking something here, tweaking some there, I realize by looking 10 times at others entities within the same file ( triggers.cpp), that all EXPORT had unique names, so I changed a little bit my code so it look like this: I tried to touch a CCTFCaptureZone and nothing. Then I start my mod, start WinDBG, attach WinDBG to hl.exe, start my local CTF server and I had no Think related spam for CCTFFlag. When I wrote this, I told myself: "It will be fine", so I pressed the "Build solution", and no errors/warnings were shown, good so far. Void CCTFCaptureZone::Touch( CBaseEntity *pEntity )ĪLERT( at_console, "CCTFCaptureZone::Touch \n " ) LINK_ENTITY_TO_CLASS( func_ctf_capture_zone, CCTFCaptureZone ) CCTFCaptureZone - Multiplayer Capture The Flag - Capture zone entity class CCTFCaptureZone : public CBaseTrigger

Void CCTFFlag::Touch( CBaseEntity *pEntity )ĪLERT( at_console, "CCTFFlag::Touch \n " ) Pev-> nextthink = gpGlobals-> time + 0.1 LINK_ENTITY_TO_CLASS( info_ctf_flag, CCTFFlag ) ĪLERT( at_console, "CCTFFlag::Think \n " ) Void EXPORT Touch( CBaseEntity *pEntity ) CCTFFlag - Multiplayer Capture The Flag - Flag entity class CCTFFlag : public CPointEntity
