I tried to install Crypto++ using apt-get: sudo apt-get install libcrypto++-dev libcrypto++-doc libcrypto++-utils
. And then I tried to compile very simple program like:
#include <iostream>
#include "aes.h"
#include "modes.h"
using namespace std;
using namespace CryptoPP;
int main()
{
cout << "Yo, man!" << endl;
return 0;
}
It resulted in fatal error: aes.h: No such file or directory
.
I'm a new Ubuntu user (Windows before), so I've done some research, but most people say that typing that one command is enough to get repository with Crypto++ library and make it work. Well, it is not in my case.
If you installed the library as you said (using apt-get
), then try this:
#include <crypto++/aes.h>
#include <crypto/modes.h>
Instead of this:
#include "aes.h"
#include "modes.h"
You should use the #include <crypto++/...>
because Ubuntu installs them in its "system", which means the preprocessor will look in particular places in a particular order when processing them. Also see What is the difference between #include and #include “filename”?.
Also note that on Fedora and Red Hat, you would use #include <cryptopp/...>
, not #include <crypto++/...>
. If you are targeting multiple operating systems for Crypto++, then see How to change the include file path with autotools?.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With