2

Cygwin で NetBurner NNDK 2.6.2 を使用して openssl 1.0.1g をビルドしようとしています。これはそのままではサポートされていないことがわかっているので、次の行を Configure に追加しました (オプションは、openssl の基本的な「gcc」構成オプションと NNDK オプションの組み合わせです。これが有効かどうかはわかりません)。

"NetBurner", "m68k-elf-gcc:-v -Wall -Os::(unknown):::BN_LLONG::: -falign-functions=4 -Wno-write-strings -c -fmessage-length=0",

構成を実行しました:

Configure NetBurner no-asm no-shared no-threads no-zlib

構成の出力にはエラーは記載されておらず、「NetBurner 用に構成されています。」で終了しました。その後、make を実行しましたが、crypto のビルドに失敗しました。ヘッダー検索パス (簡潔にするために NNDK は省略されています):

#include "..." search starts here:
#include <...> search starts here:
.
..
../include

多くのコンパイラ エラーの最初のエラーは次のとおりです。

In file included from cryptlib.h:65,
             from cryptlib.c:117:
../e_os.h:62:33: error: openssl/opensslconf.h: No such file or directory
../e_os.h:64:27: error: openssl/e_os2.h: No such file or directory

ディレクトリ構造を変更したり、tarball からファイルを移動したりしていません。openssl-1.0.1g ディレクトリには e_os.h (make を実行している場所) が含まれており、openssl-1.0.1g/include/openssl には次のリンクが含まれています。

lrwxrwxrwx 1 opensslconf.h -> ../../crypto/opensslconf.h

その 2 レベル上にある crypto ディレクトリに、opensslconf.h が存在します。インクルード パスを GCC に手動で追加しようとしまし-Iたが、うまくいきません。

4

1 に答える 1

2

これは Cygwin の問題でした。私のCYGWIN環境変数は に設定されてwinsymlinksいました。ドキュメントによると、ネイティブの Windows シンボリック リンクとは対照的に、シンボリック リンクの Windows ショートカット ファイルが作成されます。

winsymlinks:{lnk,native,nativestrict} - winsymlinks または winsymlinks:lnk だけに設定すると、Cygwin は特別なヘッダーと R/O 属性が設定された Windows ショートカットとしてシンボリック リンクを作成します。

winsymlinks:native または winsymlinks:nativestrict に設定すると、Cygwin はシンボリック リンクを、ファイル システムおよびそれらをサポートする OS バージョンのネイティブ Windows シンボリック リンクとして作成します。OS がネイティブ シンボリック リンクをサポートしていないことがわかっている場合 (Windows XP、Windows Server 2003)、セッションごとに警告メッセージが生成されます。

CYGWIN環境変数をに変更しwinsymlinks:native、Cygwin を再起動して、もう一度 tarball を抽出しました。現在、Cygwin シンボリック リンクは実際の Windows シンボリック リンクであり、プリプロセッサはそれらのファイルを見つけました。

于 2014-05-16T19:07:55.007 に答える