Ich möchte ein C++ Programm überqueren kompilieren, die einige OpenSSL Dateien verwendet:Eclipse-CDT - Einen Link libcrypto.so für Kreuzkompilierung
#include <openssl/x509.h>
#include <openssl/pem.h>
#include <openssl/bio.h>
#include <openssl/err.h>
Da der Pfad des Cross-Compiler (/opt/crosstool/arm-none-linux-gnueabi/include
) auf die anders ist Standard /usr/include
Pfad, wo alle OpenSSL-Header-Dateien sind, musste ich den Include-Pfad mit der rechten Maustaste auf Projekt -> Eigenschaften -> C/C++ Allgemein -> Pfad und Symbole -> Hinzufügen ... ->/usr/include
einfügen die Headerdateien.
Gleiche mit dem libcrypto.so:
... C/C++ Allgemein -> Bibliotheken -> Hinzufügen ... crypto
... C/C++ Allgemein -> Bibliothek Paths -> hinzufügen ... /usr/lib/i386-linux-gnu
(in diesem Ordner ich die librypto.so gefunden)
Wenn mein Projekt Aufbau ich folgende Fehlermeldung erhalten:
/opt/crosstool/arm-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libcrypto.so when searching for -lcrypto
/opt/crosstool/arm-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libcrypto.a when searching for -lcrypto
/opt/crosstool/arm-none-linux-gnueabi/bin/../lib/gcc/arm-none-linux-gnueabi/4.4.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lcrypto
Scheint ein Verbindungsfehler zu sein, aber ich Ich weiß nicht warum. Danke für die Hilfe.
Welche Version von OpenSSL verwenden Sie? Woher kommt das? '/ Opt/crosstool/arm-none-linux-gnueabi'? (Es ist OK, ich versuche, ein Testgerät einzurichten, um eine Antwort zu testen). – jww
Ich benutze Version 1.0.1. Der Pfad ist der Pfad zu meinem Cross-Compiler, er war der Standardpfad nach der Installation meines Cross-Compilers. In diesem Pfad habe ich alle Ordner für meine eingebettete Hardware, einige zusätzliche Bibliotheken für die Hardware und auch Standardbibliotheken (und Header-Dateien), aber nicht die OpenSSL-Bibliotheken. Ich habe versucht, die libcrypto.so-Dateien in die Ordner des Cross-Compilers zu kopieren, aber immer noch den gleichen Fehler. – Snowman