2013-10-04 11 views
7

द्वारा प्रदान किए गए क्रिप्टो ++ के विरुद्ध संकलन मैंने apt-get: sudo apt-get install libcrypto++-dev libcrypto++-doc libcrypto++-utils का उपयोग करके क्रिप्टो ++ स्थापित करने का प्रयास किया। और फिर मैं बहुत ही सरल कार्यक्रम संकलन करने की कोशिश की तरह:उबंटू

#include <iostream> 
#include "aes.h" 
#include "modes.h" 

using namespace std; 
using namespace CryptoPP; 

int main() 
{ 
    cout << "Yo, man!" << endl; 
    return 0; 
} 

यह fatal error: aes.h: No such file or directory में हुई।

मैं एक नया उबंटू उपयोगकर्ता (विंडोज़ पहले) हूं, इसलिए मैंने कुछ शोध किया है, लेकिन अधिकांश लोग कहते हैं कि एक आदेश टाइप करना क्रिप्टो ++ लाइब्रेरी के साथ भंडार प्राप्त करने के लिए पर्याप्त है और इसे काम करता है। खैर, यह मेरे मामले में नहीं है। इसके बजाय इस बात का

#include <crypto++/aes.h> 
#include <crypto/modes.h> 

:

उत्तर

8

आप पुस्तकालय स्थापित किया है के रूप में आप ने कहा कि (apt-get का उपयोग कर), तो यह कोशिश

#include "aes.h" 
#include "modes.h" 

आप क्योंकि उबंटू उन में स्थापित करता है #include <crypto++/...> का उपयोग करना चाहिए अपने "सिस्टम", जिसका अर्थ है कि प्रसंस्करण करते समय प्रीप्रोसेसर किसी विशेष क्रम में विशेष स्थानों को देखेगा। What is the difference between #include and #include “filename”? भी देखें।

यह भी ध्यान रखें कि फेडोरा और रेड हैट पर, आप #include <cryptopp/...> का उपयोग करेंगे, #include <crypto++/...> नहीं। यदि आप क्रिप्टो ++ के लिए एकाधिक ऑपरेटिंग सिस्टम को लक्षित कर रहे हैं, तो How to change the include file path with autotools? देखें।