| 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 19.12.2022(UTC)
 Сообщений: 5
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Добрый день. Столкнулся с ошибкой при сборке библиотеки cadescom для .NET по инструкции: https://github.com/Crypt...des/blob/main/README.md. Сборку выполняю в WSL на Ubuntu 24.04. Ошибку получаю при сборке ccades (команда make-j4): Код:
[  3%] Building CXX object CMakeFiles/ccades.dir/errormsg.cpp.o
In file included from /opt/cprocsp/include/pki/atl/atldef.h:25,
                 from /opt/cprocsp/include/pki/atl/atlbase.h:75,
                 from /opt/cprocsp/include/pki/atl/atlstr.h:19,
                 from /home/igor/cryptopro/linux-amd64_deb/dotnetcades/ccades/errormsg.cpp:37:
/opt/cprocsp/include/pki/atl/atlunixdefs.h:41:9: error: ‘uint64_t’ does not name a type
   41 | typedef uint64_t __uint64;
      |         ^~~~~~~~
/opt/cprocsp/include/pki/atl/atlunixdefs.h:1:1: note: ‘uint64_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
  +++ |+#include <cstdint>
    1 | #ifndef _ATLUNIXDEFS_H_INCLUDED
/opt/cprocsp/include/pki/atl/atlunixdefs.h:72:9: error: ‘uint32_t’ does not name a type
   72 | typedef uint32_t UINT32;
      |         ^~~~~~~~
/opt/cprocsp/include/pki/atl/atlunixdefs.h:72:9: note: ‘uint32_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
In file included from /opt/cprocsp/include/pki/atl/atlcore.h:35,
                 from /opt/cprocsp/include/pki/atl/atlbase.h:81:
/opt/cprocsp/include/reader/support.h:1308:13: error: ‘uint16_t’ does not name a type
 1308 |     typedef uint16_t WIN_WCHAR_T;
      |             ^~~~~~~~
/opt/cprocsp/include/reader/support.h:62:1: note: ‘uint16_t’ is defined in header ‘<cstdint>’; did you forget to
#include <cstdint>’?
   61 | #include "reader/support_registry.h"
  +++ |+#include <cstdint>
   62 |
/opt/cprocsp/include/reader/support.h:1311:38: error: ‘WIN_WCHAR_T’ does not name a type
 1311 |     size_t support_utf16le_len(const WIN_WCHAR_T * src)
      |                                      ^~~~~~~~~~~
/opt/cprocsp/include/reader/support.h:1320:39: error: ‘WIN_WCHAR_T’ does not name a type
 1320 |     size_t support_utf16le_nlen(const WIN_WCHAR_T * src,
      |                                       ^~~~~~~~~~~
/opt/cprocsp/include/reader/support.h:1346:9: error: ‘WIN_WCHAR_T’ has not been declared
 1346 |         WIN_WCHAR_T * dst, /* buffer to hold utf16 string or NULL to calculate*/
      |         ^~~~~~~~~~~
/opt/cprocsp/include/reader/support.h:1357:16: error: ‘WIN_WCHAR_T’ does not name a type
 1357 |          const WIN_WCHAR_T * src, /* utf16 string */
      |                ^~~~~~~~~~~
In file included from /opt/cprocsp/include/pki/atl/atlconv.h:30,
                 from /opt/cprocsp/include/pki/atl/atltrace.h:17,
                 from /opt/cprocsp/include/pki/atl/atlexcept.h:17,
                 from /opt/cprocsp/include/pki/atl/atlchecked.h:17,
                 from /opt/cprocsp/include/pki/atl/atlcore.h:46:
/opt/cprocsp/include/pki/atl/atlalloc.h: In function ‘HRESULT ATL::AtlMultiply(T*, T, T) [with T = unsigned int; HRESULT = int]’:
/opt/cprocsp/include/pki/atl/atlalloc.h:149:9: error: ‘__uint64’ was not declared in this scope; did you mean ‘__int64’?
  149 |         __uint64 i64Result=static_cast<__uint64>(iLeft) * static_cast<__uint64>(iRight);
      |         ^~~~~~~~
      |         __int64
/opt/cprocsp/include/pki/atl/atlalloc.h:150:12: error: ‘i64Result’ was not declared in this scope; did you mean ‘piResult’?
  150 |         if(i64Result>UINT_MAX)
      |            ^~~~~~~~~
      |            piResult
/opt/cprocsp/include/pki/atl/atlalloc.h:154:54: error: ‘i64Result’ was not declared in this scope; did you mean ‘piResult’?
  154 |         *piResult=static_cast<unsigned int _ATL_W64>(i64Result);
      |                                                      ^~~~~~~~~
      |                                                      piResult
/opt/cprocsp/include/pki/atl/atlalloc.h: In function ‘HRESULT ATL::AtlMultiply(T*, T, T) [with T = long unsigned int; HRESULT = int]’:
/opt/cprocsp/include/pki/atl/atlalloc.h:174:9: error: ‘__uint64’ was not declared in this scope; did you mean ‘__int64’?
  174 |         __uint64 i64Result=static_cast<__uint64>(iLeft) * static_cast<__uint64>(iRight);
      |         ^~~~~~~~
      |         __int64
/opt/cprocsp/include/pki/atl/atlalloc.h:175:12: error: ‘i64Result’ was not declared in this scope; did you mean ‘piResult’?
  175 |         if(i64Result>ULONG_MAX)
      |            ^~~~~~~~~
      |            piResult
/opt/cprocsp/include/pki/atl/atlalloc.h:179:55: error: ‘i64Result’ was not declared in this scope; did you mean ‘piResult’?
  179 |         *piResult=static_cast<unsigned long _ATL_W64>(i64Result);
      |                                                       ^~~~~~~~~
      |                                                       piResult
make[2]: *** [CMakeFiles/ccades.dir/build.make:510: CMakeFiles/ccades.dir/errormsg.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/ccades.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
 Подскажите, пожалуйста, в чем ее причина? | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Администратор
 Группы: Участники
 Зарегистрирован: 01.03.2017(UTC) Сообщений: 133  Откуда: МоскваСказал(а) «Спасибо»: 9 разПоблагодарили: 56 раз в 41 постах
 
 | 
            
		      
                Здравствуйте. Не хватало включения заголовочного файла <cstdint> Цитата:...‘uint64_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’?
 +++ |+#include <cstdint>
 ...
 Добавили исправление в основной репозиторийhttps://github.com/Crypt...70ced37b52c3a9780ca1acd4 Проверьте, пожалуйста, что теперь собирается успешно. | 
    | 
              1 пользователь поблагодарил Ситдиков Денис за этот пост. |  | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 19.12.2022(UTC)
 Сообщений: 5
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                Спасибо! Библиотека успешно собралась.
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
Зарегистрирован: 19.12.2022(UTC)
 Сообщений: 5
 
 Сказал(а) «Спасибо»: 1 раз
 | 
            
		      
                При запуске примеров (папка samples) получаю ошибки: Цитата:Unable to load DLL '../ccades/libccades' or one of its dependencies: Не найден указанный модуль. (0x8007007E)
 Unable to load DLL '../ccades/libccades' or one of its dependencies: Не найден указанный модуль. (0x8007007E)
 Unable to load DLL '../ccades/libccades' or one of its dependencies: Не найден указанный модуль. (0x8007007E)
 Unable to load DLL '../ccades/libccades' or one of its dependencies: Не найден указанный модуль. (0x8007007E)
 
 Пробовал перенести dotnetcades.dll (вместе с deps.json и .pdb) и ccades/libccades.so в свой проект, но получаю аналогичную ошибку.  Уточните, пожалуйста, как корректно подключить библиотеку к моему проекту? Отредактировано пользователем 19 марта 2025 г. 16:46:24(UTC)
 | Причина: Не указана | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
        
            
            
    | 
	Статус: Администратор
 Группы: Участники
 Зарегистрирован: 01.03.2017(UTC) Сообщений: 133  Откуда: МоскваСказал(а) «Спасибо»: 9 разПоблагодарили: 56 раз в 41 постах
 
 |  | 
    | 
             | 
            
         | 
    |  | 
        
        
        
            
        
            
            
    | 
	Статус: Новичок
 Группы: Участники
 Зарегистрирован: 30.04.2025(UTC) Сообщений: 3  | 
            
		      
                Привет! :)
 У тебя ошибка из-за того, что компилятор не может найти типы данных типа uint64_t, uint32_t и так далее. Эти типы определяются в стандартной библиотеке C++ в файле <cstdint>, и, судя по всему, его забыли подключить в исходниках. Это довольно часто бывает.
 
 Чтобы починить, сделай следующее:
 
 В файле atlunixdefs.h и других, где встречаются ошибки с типами данных (например, в support.h), добавь строчку:
 
 cpp
 Копировать
 Редактировать
 #include <cstdint>
 Это подключит нужный заголовок, который и определяет эти типы.
 
 Попробуй снова собрать проект после этого.
 
 Если не помогло, проверь, может у тебя стоит устаревшая версия библиотеки или какой-то не тот компилятор. Ну и еще можно посмотреть, может какие-то зависимости не установлены.
 | 
    | 
             | 
            
         | 
    |  | 
        
        
        
    
	                           
	
    
        Быстрый переход
         
	
    
    Вы не можете создавать новые темы в этом форуме.
	
	Вы не можете отвечать в этом форуме.
	
	Вы не можете удалять Ваши сообщения в этом форуме.
	
	Вы не можете редактировать Ваши сообщения в этом форуме.
	
	Вы не можете создавать опросы в этом форуме.
	
	Вы не можете голосовать в этом форуме.
	
	
    
    
        Important Information:
        The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
        
        
More Details
        Close