cryptopp610 compilation issue in Visual Studio 2010

65 views
Skip to first unread message

Jeemon Joy

unread,
Mar 10, 2018, 8:09:05 AM3/10/18
to Crypto++ Users
Hi,
First of all, I would like to thank the owners and developers of cryptopp. It really helps to understand and learn more about cryptography.
For me, cryptopp610 was not compiling in Visual Studio 2010. It is due to uint8_t, uint32_t and uint64_t type specifiers.
Attaching files I modified minimally to get it compiled. Please suggest if a better method is there.

Thanks
Jeemon Joy

aria.cpp
naclite.h

Jeffrey Walton

unread,
Mar 10, 2018, 10:19:29 AM3/10/18
to Crypto++ Users

Thanks Jeemon. That looks like a bug on our part. The questions are, why and how to fix it...

The Crypto++ header responsible for including the the right system header for uint32_t and friends is "std.cpp.h" (https://github.com/weidai11/cryptopp/blob/master/stdcpp.h#L58):

    // uintptr_t and ptrdiff_t
    #if (__cplusplus < 201103L) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
    # include <stdint.h>
    #elif defined(_MSC_VER) && (_MSC_VER < 1700)
    # include <stddef.h>
    #endif

I believe your local install of VS2010 should use Microsoft's
<stddef.h> .

I think the first thing we should do is, add #include "stdcpp.h" to aria.cpp.

The second fix is to replace uint32_t with word32. I've been a bit lazy about doing this, but if its causing compile problems then I need to revisit it.

If you provide the compile errors we can open a bug report and track the issue and changes. I can open the bug report if you provide the error messages.

Jeff

Jeemon Joy

unread,
Mar 10, 2018, 3:18:38 PM3/10/18
to Crypto++ Users
Hi Jeff,
You are welcome.

Still, aria.cpp is not compilable after adding stdcpp.h to it.

Need to check on
// uintptr_t and ptrdiff_t
    #if (__cplusplus < 201103L) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
    # include <stdint.h>
    #elif defined(_MSC_VER) && (_MSC_VER < 1700)
    # include <stddef.h>
    #endif

For me, __cplusplus is defined as 199711L and fine. _MSC_VER is 1600. And I need to include stdint.h to make it compile.

Regards
Jeemon Joy

Jeemon Joy

unread,
Mar 10, 2018, 3:30:57 PM3/10/18
to Crypto++ Users
HI Jeff,

Compilation errors in Microsoft Visual Studio 2010, Version 10.0.30319.1

Error 1:
Compilation error of aria.cpp 

Error 1 error C2065: 'uint32_t' : undeclared identifier G:\Programs\References\CPP\cryptopp610\aria.cpp 224 1 cryptlib
Error 2 error C2059: syntax error : ')' G:\Programs\References\CPP\cryptopp610\aria.cpp 224 1 cryptlib

Error 2:
 Compilation error of tweetnacl.cpp
141 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 233 5 cryptlib
143 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 239 17 cryptlib
145 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 240 5 cryptlib
147 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 246 17 cryptlib
150 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 250 3 cryptlib
152 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 251 3 cryptlib
155 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 255 3 cryptlib
157 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 256 3 cryptlib
165 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 475 5 cryptlib
168 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 476 5 cryptlib
171 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 477 5 cryptlib
173 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 478 5 cryptlib
176 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 479 5 cryptlib
179 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 480 5 cryptlib
182 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 481 5 cryptlib
184 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 482 5 cryptlib
187 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 483 5 cryptlib
190 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 484 5 cryptlib
192 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 485 5 cryptlib
195 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 486 5 cryptlib
198 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 487 5 cryptlib
201 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 488 5 cryptlib
204 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 489 5 cryptlib
207 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 498 3 cryptlib
210 IntelliSense: this declaration has no storage class or type specifier g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 499 3 cryptlib
144 IntelliSense: initialization with '{...}' expected for aggregate object g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 239 25 cryptlib
148 IntelliSense: initialization with '{...}' expected for aggregate object g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 246 25 cryptlib
156 IntelliSense: initialization with '{...}' expected for aggregate object g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 255 11 cryptlib
121 IntelliSense: incomplete type is not allowed g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 40 13 cryptlib
208 IntelliSense: identifier "x" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 498 5 cryptlib
216 IntelliSense: identifier "x" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 602 32 cryptlib
126 IntelliSense: identifier "uint8_t" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 134 25 cryptlib
130 IntelliSense: identifier "uint8_t" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 148 31 cryptlib
136 IntelliSense: identifier "uint8_t" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 208 24 cryptlib
215 IntelliSense: identifier "uint8_t" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 602 23 cryptlib
211 IntelliSense: identifier "q" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 499 13 cryptlib
127 IntelliSense: identifier "out" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 134 34 cryptlib
137 IntelliSense: identifier "out" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 208 33 cryptlib
119 IntelliSense: identifier "int64_t" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 23 9 cryptlib
166 IntelliSense: identifier "f" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 475 7 cryptlib
174 IntelliSense: identifier "e" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 478 7 cryptlib
196 IntelliSense: identifier "d" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 486 7 cryptlib
131 IntelliSense: identifier "c" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 148 40 cryptlib
122 IntelliSense: identifier "block" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 40 35 cryptlib
180 IntelliSense: identifier "b" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 480 7 cryptlib
199 IntelliSense: identifier "b" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 487 7 cryptlib
169 IntelliSense: identifier "a" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 476 7 cryptlib
177 IntelliSense: identifier "a" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 479 7 cryptlib
185 IntelliSense: identifier "a" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 482 7 cryptlib
188 IntelliSense: identifier "a" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 483 7 cryptlib
193 IntelliSense: identifier "a" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 485 7 cryptlib
202 IntelliSense: identifier "a" is undefined g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 488 14 cryptlib
125 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 120 3 cryptlib
134 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 171 3 cryptlib
135 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 173 1 cryptlib
140 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 231 5 cryptlib
142 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 234 5 cryptlib
146 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 241 5 cryptlib
149 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 247 3 cryptlib
153 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 252 3 cryptlib
154 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 254 3 cryptlib
159 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 257 3 cryptlib
160 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 258 3 cryptlib
161 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 259 1 cryptlib
162 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 441 5 cryptlib
163 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 445 3 cryptlib
164 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 450 1 cryptlib
206 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 490 3 cryptlib
213 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 500 3 cryptlib
214 IntelliSense: expected a declaration g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 501 1 cryptlib
124 IntelliSense: expected a ';' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 41 1 cryptlib
129 IntelliSense: expected a ';' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 135 1 cryptlib
133 IntelliSense: expected a ';' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 149 1 cryptlib
139 IntelliSense: expected a ';' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 209 1 cryptlib
218 IntelliSense: expected a ';' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 603 1 cryptlib
123 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 40 40 cryptlib
128 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 134 37 cryptlib
132 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 148 41 cryptlib
138 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 208 36 cryptlib
151 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 250 12 cryptlib
158 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 256 12 cryptlib
167 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 475 8 cryptlib
170 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 476 8 cryptlib
172 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 477 8 cryptlib
175 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 478 8 cryptlib
178 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 479 8 cryptlib
181 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 480 8 cryptlib
183 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 481 8 cryptlib
186 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 482 8 cryptlib
189 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 483 8 cryptlib
191 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 484 8 cryptlib
194 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 485 8 cryptlib
197 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 486 8 cryptlib
200 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 487 8 cryptlib
203 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 488 15 cryptlib
205 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 489 15 cryptlib
209 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 498 9 cryptlib
212 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 499 14 cryptlib
217 IntelliSense: expected a ')' g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 602 33 cryptlib
120 IntelliSense: "uint8_t" is not a type name g:\programs\references\cpp\cryptopp610\tweetnacl.cpp 25 14 cryptlib
Error 45 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int g:\programs\references\cpp\cryptopp610\naclite.h 322 1 cryptlib
Error 92 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int g:\programs\references\cpp\cryptopp610\naclite.h 412 1 cryptlib
Error 94 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int g:\programs\references\cpp\cryptopp610\naclite.h 418 1 cryptlib
Error 97 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 23 1 cryptlib
Error 98 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 23 1 cryptlib
Error 99 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 26 1 cryptlib
Error 101 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 26 1 cryptlib
Error 102 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 27 1 cryptlib
Error 103 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 30 1 cryptlib
Error 106 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 30 1 cryptlib
Error 107 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 31 1 cryptlib
Error 108 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 32 1 cryptlib
Error 110 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 33 1 cryptlib
Error 112 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 34 1 cryptlib
Error 114 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 35 1 cryptlib
Error 116 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 36 1 cryptlib
Error 105 error C2373: 'CryptoPP::NaCl::gf' : redefinition; different type modifiers G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 30 1 cryptlib
Error 104 error C2146: syntax error : missing ';' before identifier 'gf0' G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 30 1 cryptlib
Error 96 error C2146: syntax error : missing ';' before identifier 'gf' G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 23 1 cryptlib
Error 100 error C2146: syntax error : missing ';' before identifier '_0' G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 26 1 cryptlib
Error 77 error C2146: syntax error : missing ')' before identifier 'd' g:\programs\references\cpp\cryptopp610\naclite.h 388 1 cryptlib
Error 86 error C2146: syntax error : missing ')' before identifier 'd' g:\programs\references\cpp\cryptopp610\naclite.h 400 1 cryptlib
Error 46 error C2143: syntax error : missing ',' before '*' g:\programs\references\cpp\cryptopp610\naclite.h 322 1 cryptlib
Error 93 error C2143: syntax error : missing ',' before '*' g:\programs\references\cpp\cryptopp610\naclite.h 412 1 cryptlib
Error 95 error C2143: syntax error : missing ',' before '*' g:\programs\references\cpp\cryptopp610\naclite.h 418 1 cryptlib
Error 11 error C2078: too many initializers g:\programs\references\cpp\cryptopp610\naclite.h 178 1 cryptlib
Error 73 error C2078: too many initializers g:\programs\references\cpp\cryptopp610\naclite.h 381 1 cryptlib
Error 78 error C2078: too many initializers g:\programs\references\cpp\cryptopp610\naclite.h 388 1 cryptlib
Error 87 error C2078: too many initializers g:\programs\references\cpp\cryptopp610\naclite.h 400 1 cryptlib
Error 109 error C2078: too many initializers G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 32 1 cryptlib
Error 111 error C2078: too many initializers G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 33 1 cryptlib
Error 113 error C2078: too many initializers G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 34 1 cryptlib
Error 115 error C2078: too many initializers G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 35 1 cryptlib
Error 117 error C2078: too many initializers G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 36 1 cryptlib
Error 8 error C2065: 'y' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 178 1 cryptlib
Error 10 error C2065: 'x' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 178 1 cryptlib
Error 37 error C2065: 'x' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 302 1 cryptlib
Error 1 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 157 1 cryptlib
Error 4 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 170 1 cryptlib
Error 7 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 178 1 cryptlib
Error 9 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 178 1 cryptlib
Error 12 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 189 1 cryptlib
Error 15 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 203 1 cryptlib
Error 18 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 217 1 cryptlib
Error 21 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 241 1 cryptlib
Error 24 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 265 1 cryptlib
Error 27 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 287 1 cryptlib
Error 30 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 290 1 cryptlib
Error 33 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 295 1 cryptlib
Error 36 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 302 1 cryptlib
Error 39 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 309 1 cryptlib
Error 42 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 316 1 cryptlib
Error 47 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 329 1 cryptlib
Error 50 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 336 1 cryptlib
Error 53 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 343 1 cryptlib
Error 56 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 349 1 cryptlib
Error 59 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 361 1 cryptlib
Error 64 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 372 1 cryptlib
Error 69 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 381 1 cryptlib
Error 71 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 381 1 cryptlib
Error 74 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 388 1 cryptlib
Error 80 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 394 1 cryptlib
Error 83 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 400 1 cryptlib
Error 89 error C2065: 'uint8_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 406 1 cryptlib
Error 61 error C2065: 'uint64_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 361 1 cryptlib
Error 66 error C2065: 'uint64_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 372 1 cryptlib
Error 76 error C2065: 'uint64_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 388 1 cryptlib
Error 85 error C2065: 'uint64_t' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 400 1 cryptlib
Error 62 error C2065: 'smlen' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 361 1 cryptlib
Error 60 error C2065: 'sm' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 361 1 cryptlib
Error 72 error C2065: 'sk' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 381 1 cryptlib
Error 48 error C2065: 'q' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 329 1 cryptlib
Error 51 error C2065: 'q' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 336 1 cryptlib
Error 70 error C2065: 'pk' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 381 1 cryptlib
Error 31 error C2065: 'out' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 290 1 cryptlib
Error 34 error C2065: 'out' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 295 1 cryptlib
Error 40 error C2065: 'out' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 309 1 cryptlib
Error 43 error C2065: 'out' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 316 1 cryptlib
Error 67 error C2065: 'mlen' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 372 1 cryptlib
Error 5 error C2065: 'm' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 170 1 cryptlib
Error 19 error C2065: 'm' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 217 1 cryptlib
Error 25 error C2065: 'm' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 265 1 cryptlib
Error 57 error C2065: 'm' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 349 1 cryptlib
Error 65 error C2065: 'm' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 372 1 cryptlib
Error 13 error C2065: 'k' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 189 1 cryptlib
Error 28 error C2065: 'k' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 287 1 cryptlib
Error 2 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 157 1 cryptlib
Error 16 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 203 1 cryptlib
Error 22 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 241 1 cryptlib
Error 54 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 343 1 cryptlib
Error 75 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 388 1 cryptlib
Error 81 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 394 1 cryptlib
Error 84 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 400 1 cryptlib
Error 90 error C2065: 'c' : undeclared identifier g:\programs\references\cpp\cryptopp610\naclite.h 406 1 cryptlib
Error 3 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 157 1 cryptlib
Error 6 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 170 1 cryptlib
Error 14 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 189 1 cryptlib
Error 17 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 203 1 cryptlib
Error 20 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 217 1 cryptlib
Error 23 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 241 1 cryptlib
Error 26 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 265 1 cryptlib
Error 29 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 287 1 cryptlib
Error 32 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 290 1 cryptlib
Error 35 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 295 1 cryptlib
Error 38 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 302 1 cryptlib
Error 41 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 309 1 cryptlib
Error 44 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 316 1 cryptlib
Error 49 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 329 1 cryptlib
Error 52 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 336 1 cryptlib
Error 55 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 343 1 cryptlib
Error 58 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 349 1 cryptlib
Error 63 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 361 1 cryptlib
Error 68 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 372 1 cryptlib
Error 82 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 394 1 cryptlib
Error 91 error C2059: syntax error : 'const' g:\programs\references\cpp\cryptopp610\naclite.h 406 1 cryptlib
Error 79 error C2059: syntax error : ')' g:\programs\references\cpp\cryptopp610\naclite.h 388 1 cryptlib
Error 88 error C2059: syntax error : ')' g:\programs\references\cpp\cryptopp610\naclite.h 400 1 cryptlib
Error 118 error C1003: error count exceeds 100; stopping compilation G:\Programs\References\CPP\cryptopp610\tweetnacl.cpp 36 1 cryptlib

Regards
Jeemon Joy

Andrew Marlow

unread,
Mar 11, 2018, 3:07:45 PM3/11/18
to Crypto++ Users
The Microsoft compilers have a notorious area for incompatibilities and that is where types such as uint64_t are defined. Often I have seen a project create its own header for the portable integer types and in that header there are various ifdef includes to resolve the issue for the various versions of Visual Studio. On unix of course one merely includes stdint.h. It would be better perhaps to include cstdint but that also seems to have some portability issues.

Jeffrey Walton

unread,
Mar 27, 2018, 7:10:08 PM3/27/18
to Crypto++ Users


On Saturday, March 10, 2018 at 10:19:29 AM UTC-5, Jeffrey Walton wrote:

On Saturday, March 10, 2018 at 8:09:05 AM UTC-5, Jeemon Joy wrote:
First of all, I would like to thank the owners and developers of cryptopp. It really helps to understand and learn more about cryptography.
For me, cryptopp610 was not compiling in Visual Studio 2010. It is due to uint8_t, uint32_t and uint64_t type specifiers.
Attaching files I modified minimally to get it compiled. Please suggest if a better method is there

Thanks Jeemon. That looks like a bug on our part. The questions are, why and how to fix it...

Jeffrey Walton

unread,
Mar 27, 2018, 7:21:51 PM3/27/18
to Crypto++ Users
Reply all
Reply to author
Forward
0 new messages