• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TFS 1.X+ TFS 1.3 8.6 compiling errors

DaBlauwk

Psychedelic
Joined
Jun 9, 2014
Messages
41
Reaction score
4
Location
The Moon
Hi
I've been dealing with different errors for 2 days trying to compile this
but since last night I've had this same problem
Code:
1>rsa.cpp
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C3646: 'pk': unknown override specifier (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file ..\src\protocol.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C3646: 'pk': unknown override specifier (compiling source file ..\src\protocol.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\protocol.cpp)
1>c:\tfs1.3.8.6\src\rsa.cpp(35): error C2065: 'pk': undeclared identifier
1>c:\tfs1.3.8.6\src\rsa.cpp(36): error C3536: 'c': cannot be used before it is initialized
1>c:\tfs1.3.8.6\src\rsa.cpp(71): error C2065: 'pk': undeclared identifier
1>c:\tfs1.3.8.6\src\rsa.cpp(73): error C2065: 'pk': undeclared identifier
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file ..\src\otserv.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C3646: 'pk': unknown override specifier (compiling source file ..\src\otserv.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\otserv.cpp)
1>Done building project "theforgottenserver.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Visual Studio 2017
Boost 1.66.0
TFS-SDK 3.2
Windows 8.1 x64 because I'm on my laptop

Done all that otland/forgottenserver (https://github.com/otland/forgottenserver/wiki/Compiling-on-Windows-%28vcpkg%29#4-install-libraries)
 
Solution
Hi
I've been dealing with different errors for 2 days trying to compile this
but since last night I've had this same problem
Code:
1>rsa.cpp
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C3646: 'pk': unknown override specifier (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file...
Hi
I've been dealing with different errors for 2 days trying to compile this
but since last night I've had this same problem
Code:
1>rsa.cpp
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C3646: 'pk': unknown override specifier (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\rsa.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file ..\src\protocol.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C3646: 'pk': unknown override specifier (compiling source file ..\src\protocol.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\protocol.cpp)
1>c:\tfs1.3.8.6\src\rsa.cpp(35): error C2065: 'pk': undeclared identifier
1>c:\tfs1.3.8.6\src\rsa.cpp(36): error C3536: 'c': cannot be used before it is initialized
1>c:\tfs1.3.8.6\src\rsa.cpp(71): error C2065: 'pk': undeclared identifier
1>c:\tfs1.3.8.6\src\rsa.cpp(73): error C2065: 'pk': undeclared identifier
1>c:\tfs1.3.8.6\src\rsa.h(40): error C2653: 'CryptoPP': is not a class or namespace name (compiling source file ..\src\otserv.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C3646: 'pk': unknown override specifier (compiling source file ..\src\otserv.cpp)
1>c:\tfs1.3.8.6\src\rsa.h(40): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int (compiling source file ..\src\otserv.cpp)
1>Done building project "theforgottenserver.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Visual Studio 2017
Boost 1.66.0
TFS-SDK 3.2
Windows 8.1 x64 because I'm on my laptop

Done all that otland/forgottenserver (https://github.com/otland/forgottenserver/wiki/Compiling-on-Windows-%28vcpkg%29#4-install-libraries)
I don't think you need Boost 1.66.0 or TFS-SDK 3.2, I have compiled same source several times without errors.

1 : Just run windows Powershell as Administrator.

2 : Change your location instead of C: or System32 because most of times there's a lot of
restrictions and errors will appear while cloning "vcpkg", Change by writing cd and the location example "cd E:/newfolder"
3 : Use
Code:
git clone https://github.com/Microsoft/vcpkg

4 : Use
Code:
cd vcpkg

5 : Use
Code:
.\bootstrap-vcpkg.bat

6 : Use
Code:
.\vcpkg integrate install

Then install libraries depends on platform you wanna use
For 32 bit use
Code:
.\vcpkg install boost-iostreams:x86-windows boost-asio:x86-windows boost-system:x86-windows boost-variant:x86-windows boost-lockfree:x86-windows luajit:x86-windows libmariadb:x86-windows pugixml:x86-windows mpir:x86-windows cryptopp:x86-windows

For 64 bit use
Code:
.\vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows libmariadb:x64-windows pugixml:x64-windows mpir:x64-windows cryptopp:x64-windows

After libraries installed, Run visual studio 2017 community as Administrator then choose
File
Open
Project/Solution
and locate your
Code:
theforgottenserver.vcxproj
then right click on your project and "Rebuild" or just press F7

I tried to make it as simple as I can, Hope I helped.
 
Last edited:
Solution
I don't think you need Boost 1.66.0 or TFS-SDK 3.2, I have compiled same source several times without errors.

1 : Just run windows Powershell as Administrator.

2 : Change your location instead of C: or System32 because most of times there's a lot of
restrictions and errors will appear while cloning "vcpkg", Change by writing cd and the location example "cd E:/newfolder"
3 : Use
Code:
git clone https://github.com/Microsoft/vcpkg

4 : Use
Code:
cd vcpkg

5 : Use
Code:
.\bootstrap-vcpkg.bat

6 : Use
Code:
.\vcpkg integrate install

Then install libraries depends on platform you wanna use
For 32 bit use
Code:
vcpkg install boost-iostreams:x86-windows boost-asio:x86-windows boost-system:x86-windows boost-variant:x86-windows boost-lockfree:x86-windows luajit:x86-windows libmariadb:x86-windows pugixml:x86-windows mpir:x86-windows cryptopp:x86-windows

For 64 bit use
Code:
vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows libmariadb:x64-windows pugixml:x64-windows mpir:x64-windows cryptopp:x64-windows

After libraries installed, Run visual studio 2017 community as Administrator then choose
File
Open
Project/Solution
and locate your
Code:
theforgottenserver.vcxproj
then right click on your project and "Rebuild" or just press F7

I tried to make it as simple as I can, Hope I helped.

Everything went fine until step 7
Code:
PS C:\Users\eternym\Desktop\forgottenserver-1.3-8.6-master\vcpkg\vcpkg> vcpkg install boost-iostreams:x64-windows boost
asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows libma
iadb:x64-windows pugixml:x64-windows mpir:x64-windows cryptopp:x64-windows
vcpkg : The term 'vcpkg' is not recognized as the name of a cmdlet, function, script file, or operable program. Check t
he spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x6 ...
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (vcpkg:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Suggestion [3,General]: The command vcpkg was not found, but does exist in the current location. Windows PowerShell does
 not load commands from the current location by default. If you trust this command, instead type ".\vcpkg". See "get-he
 
Code:
.\vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows libmariadb:x64-windows pugixml:x64-windows mpir:x64-windows cryptopp:x64-windows
Use this instead

Edit : changed in the main reply so if someone got the same error.
 
Last edited:
Code:
.\vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows libmariadb:x64-windows pugixml:x64-windows mpir:x64-windows cryptopp:x64-windows
Use this instead

That worked, now its installing lots of packages n stuff. If its done, do I need to include them somewhere in visual studio before building?
 
"The program can't start because zstdd.dll is missing from your computer. Try reinstalling the program to fix this problem" when I'm trying to open this compiled theforgottenserver.exe
All dll files can be found in vcpkg folder.
 
All dll files can be found in vcpkg folder.
Can't find anywhere
52e4f4248a5f53a59ffe299313df28e6.png
 
any idea why this error happen?

Code:
'C:\Windows\SysWOW64\WindowsPowerShell\v1.0\x64\Release\vcpkg.applocal.log'.
1>En C:\Users\LEGION\Desktop\vcpkg\scripts\buildsystems\msbuild\applocal.ps1: 12 Carácter: 5
1>+     Set-Content -Path $copiedFilesLog -Value "" -Encoding UTF8
1>+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1>    + CategoryInfo          : ObjectNotFound: (C:\Windows\SysW...kg.applocal.log:String) [Set-Content], DirectoryNotFo
1>   undException
1>    + FullyQualifiedErrorId : GetContentWriterDirectoryNotFoundError,Microsoft.PowerShell.Commands.SetContentCommand
 
Do you have spaces in any folders again like you did last time?

no sir, thats the first thing i looked for since was the same error we got, but finally it seems to be that same as spaces, symbols like "[" or "]" cause this error too, because my path was: C:\Users\LEGION\Desktop\ForgottenServer[abilities]
and i finally compile it with success when changed the path for this one: C:\Users\LEGION\Desktop\ForgottenServer
 
You didn't install required libs via vcpkg. Boost is missing as you can see.
 
Back
Top