EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Zone.exe compile errors (https://www.eqemulator.org/forums/showthread.php?t=39082)

Mortow 12-06-2014 10:44 PM

Zone.exe compile errors
 
I did a pull tonight and recompile but I get the following 3 errors:


Code:

error LNK2019: unresolved external symbol "int __cdecl MakeRandomInt(int,int)" (?MakeRandomInt@@YAHHH@Z) referenced in function "public: void __thiscall Client::ForageItem(bool)" (?ForageItem@Client@@QAEX_N@Z)        C:\EQ\Source\Build\zone\forage.obj        zone
error LNK2001: unresolved external symbol "int __cdecl MakeRandomInt(int,int)" (?MakeRandomInt@@YAHHH@Z)        C:\EQ\Source\Build\zone\pets.obj        zone
error LNK1120: 1 unresolved externals        C:\EQ\Source\Build\Bin\RelWithDebInfo\zone.exe        1        1        zone

This is with VS2012.

demonstar55 12-06-2014 10:57 PM

Those functions were removed, either update your source or clean up your custom changes

Mortow 12-06-2014 11:10 PM

I thought doing a git pull did update the source. The only custom changes I have are in pets.cpp ( added pets for other races ) and I even tried reverting it to the 'stock' one. I still got the errors.

demonstar55 12-06-2014 11:21 PM

Clean build?

Mortow 12-06-2014 11:28 PM

It was clean about 1 month ago when I replaced all the hardware. It has been running fine and still is I just haven't been able to get a compile to work since last week.

Uleat 12-06-2014 11:51 PM

If you just select 'Build' when compiling updated source code, the external links within the obj files may still point to old, and now invalid, entry points.

Sometimes, there are new files added to the project that require cmake to be re-run as well..otherwise, your old solution will not know where to find
these new files..or that they even exist...

Try 'clean solution,' then 'build solution' or use 'rebuild solution' to force a complete compile (the former is preferred.)


If all else fails, you can always try to delete your 'build' directory and re-run cmake to ensure that all of the old references are gone.

Mortow 12-07-2014 12:27 AM

Ok, I deleted the build directory and re-ran c-make (which I do every time I pull new source code because I do not know when it is required and when its not) but still got the same three errors. I pulled the source again since Mackal had made a change in the last hour but this produced a bunch of errors. I tried the Clean Solution and it says it succeeded on all 13 but it did it in a matter of about 3 seconds. I then did build solution but came up with the same three errors.

demonstar55 12-07-2014 02:46 AM

I have no idea why you're getting those errors, the code doesn't make any references to them any more, so either you're not really updated (did it give any merge errors?) or you have custom stuff applied that still uses them. But MakeRandomInt() should be replaced with zone->random.Int().

Mortow 12-07-2014 02:55 AM

No merge errors. I am unsure what to try next. I appreciate all the ideas though.

Mortow 12-07-2014 03:48 AM

Ok, I deleted the contents of my source folder, re-cloned it, downloaded the dependencies, ran c-make then followed Uleat's instructions for Clean Solution and Build Solution. This appears to have fixed the issue. All 13 builds succeeded with no errors. I must have had something gumming up the works, no idea what it was but its fixed now. Thanks guys.

Uleat 12-07-2014 08:55 PM

It was demonstar55's suggestion..I just translated :P


All times are GMT -4. The time now is 01:53 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.