2016-12-13 132 views
0

我想跨編譯使用頭文件mcrypt.h的C代碼。我在Ubuntu發行版中編譯我的代碼,我的目標是openwrt發行版。我收到以下錯誤,而交叉編譯:缺少編譯文件

fatal error: mcrypt.h: No such file or directory 
#include <mcrypt.h> 
       ^

下面是用於AES加密的C代碼:https://gist.github.com/bricef/2436364 的問題是,我coudn't找出如何使用這個Mcrypt API這裏給出:http://linux.die.net/man/3/mcrypt

我困在這一點。

+0

最好不要現在用的mcrypt,它已被放棄的了將近十年。因此它已被棄用,並將在PHP 7.2中從核心和PECL中刪除。它不支持標準的PKCS#7(néePKCS#5)填充,只有非標準的null填充甚至不能用於二進制數據。 mcrypt有很多優秀的[bug](https://sourceforge.net/p/mcrypt/bugs/)可以追溯到2003年。相反,考慮使用[defuse](https://github.com/defuse/php-encryption)或者[RNCryptor](https://github.com/RNCryptor),他們提供了一個完整的解決方案,正在維護和正確。 – zaph

回答

1

您必須安裝libmcrypt -dev

+0

是的,但我試圖安裝libmcrypt -dev包爲openwrt這是我的分配目標'sudo make menuconfig'來選擇要安裝的包,但我沒有找到它。 – Ahmed202