AES のスタティックライブラリを作れた

VC++ 2008 EE でもビルドできた.ただし,使い方は把握していない.

  1. Brian Gladman's Main Page の「The AES source code files are here」という文から aes-src-dd-mm-yy.zip を入手する
    • C:\Software\Develop\aesBrian に展開した
  2. MASATOの開発日記: aesライブラリ化から「aes用プロジェクトファイル」を入手する
    • コードを展開したフォルダに置きなさいとあるが,何となく嫌だから C:\Software\Develop\aesBrianLib に展開した
  3. C:\Software\Develop\aesBrianLib\aes.vcproj を変換して開き,ビルドする
    • ソリューションファイルの保存位置を問われる
    • この時点ではソースファイルが同じフォルダにないから失敗に終わる
  4. ソリューションエクスプローラを見て,必要そうなファイルをコピーしてやる
    • aes.h, aescpp.h, aesopt.h, aestab.h, aescrypt.c, aeskey.c, aestab.c
  5. ビルドを実行する
    • 失敗する(失敗 A としてビルドログを後述する)
  6. brg_types.h をコピーしてビルドする
    • 失敗する(失敗 B としてビルドログを後述する)
  7. brg_endian.h をコピーしてビルドする
    • 失敗する(失敗 C としてビルドログを後述する)
  8. aes_via_ace.h をコピーしてビルドする
    • 成功する(成功 A としてビルドログを後述する)
  9. /Wp64 オプションが,今後のバージョンでは削除されるそうだから外す
    • プロジェクトオプションを開き,「すべての構成」を選び,「構成プロパティ>C/C++」で変更できる
  10. バッチビルドから全6つの構成にチェックをつけ,ビルドする
    • 今までの実験で作っていたファイルを消すため,事前にクリーンしておく
    • 成功する(成功 B としてビルドログを後述する)

失敗 A

1>------ ビルド開始: プロジェクト: aes, 構成: Debug MD Win32 ------
1>コンパイルしています...
1>cl : コマンド ライン warning D9035 : オプション 'Wp64' の使用は現在推奨されていません。今後のバージョンからは削除されます。
1>aeskey.c
1>c:\software\develop\aesbrianlib\aes.h(37) : fatal error C1083: include ファイルを開けません。'brg_types.h': No such file or directory
1>aestab.c
1>c:\software\develop\aesbrianlib\aes.h(37) : fatal error C1083: include ファイルを開けません。'brg_types.h': No such file or directory
1>aescrypt.c
1>c:\software\develop\aesbrianlib\aes.h(37) : fatal error C1083: include ファイルを開けません。'brg_types.h': No such file or directory
1>コードを生成中...
1>ビルドログは "file://c:\Software\Develop\aesBrianLib\Debug MD\BuildLog.htm" に保存されました。
1>aes - エラー 3、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

失敗 B

1>------ ビルド開始: プロジェクト: aes, 構成: Debug MD Win32 ------
1>コンパイルしています...
1>cl : コマンド ライン warning D9035 : オプション 'Wp64' の使用は現在推奨されていません。今後のバージョンからは削除されます。
1>aeskey.c
1>c:\software\develop\aesbrianlib\aesopt.h(105) : fatal error C1083: include ファイルを開けません。'brg_endian.h': No such file or directory
1>aestab.c
1>c:\software\develop\aesbrianlib\aesopt.h(105) : fatal error C1083: include ファイルを開けません。'brg_endian.h': No such file or directory
1>aescrypt.c
1>c:\software\develop\aesbrianlib\aesopt.h(105) : fatal error C1083: include ファイルを開けません。'brg_endian.h': No such file or directory
1>コードを生成中...
1>ビルドログは "file://c:\Software\Develop\aesBrianLib\Debug MD\BuildLog.htm" に保存されました。
1>aes - エラー 3、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

失敗 C

1>------ ビルド開始: プロジェクト: aes, 構成: Debug MD Win32 ------
1>コンパイルしています...
1>cl : コマンド ライン warning D9035 : オプション 'Wp64' の使用は現在推奨されていません。今後のバージョンからは削除されます。
1>aeskey.c
1>c:\software\develop\aesbrianlib\aeskey.c(32) : fatal error C1083: include ファイルを開けません。'aes_via_ace.h': No such file or directory
1>aestab.c
1>aescrypt.c
1>コードを生成中...
1>ビルドログは "file://c:\Software\Develop\aesBrianLib\Debug MD\BuildLog.htm" に保存されました。
1>aes - エラー 1、警告 1
========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ==========

成功 A

1>------ ビルド開始: プロジェクト: aes, 構成: Debug MD Win32 ------
1>コンパイルしています...
1>cl : コマンド ライン warning D9035 : オプション 'Wp64' の使用は現在推奨されていません。今後のバージョンからは削除されます。
1>aeskey.c
1>ライブラリを作成しています...
1>ビルドログは "file://c:\Software\Develop\aesBrianLib\Debug MD\BuildLog.htm" に保存されました。
1>aes - エラー 0、警告 1
========== ビルド: 1 正常終了、0 失敗、0 更新、0 スキップ ==========

成功 B

------ ビルド開始: プロジェクト: aes, 構成: Release MT Win32 ------
コンパイルしています...
aescrypt.c
aestab.c
aeskey.c
コードを生成中...
ライブラリを作成しています...
ビルドログは "file://c:\Software\Develop\aesBrianLib\Release MT\BuildLog.htm" に保存されました。
aes - エラー 0、警告 0
------ ビルド開始: プロジェクト: aes, 構成: Debug MT Win32 ------
コンパイルしています...
aeskey.c
aestab.c
aescrypt.c
コードを生成中...
ライブラリを作成しています...
ビルドログは "file://c:\Software\Develop\aesBrianLib\Debug MT\BuildLog.htm" に保存されました。
aes - エラー 0、警告 0
------ ビルド開始: プロジェクト: aes, 構成: Release MD Win32 ------
コンパイルしています...
aescrypt.c
aestab.c
aeskey.c
コードを生成中...
ライブラリを作成しています...
ビルドログは "file://c:\Software\Develop\aesBrianLib\Release MD\BuildLog.htm" に保存されました。
aes - エラー 0、警告 0
------ ビルド開始: プロジェクト: aes, 構成: Debug MD Win32 ------
コンパイルしています...
aeskey.c
aestab.c
aescrypt.c
コードを生成中...
ライブラリを作成しています...
ビルドログは "file://c:\Software\Develop\aesBrianLib\Debug MD\BuildLog.htm" に保存されました。
aes - エラー 0、警告 0
------ ビルド開始: プロジェクト: aes, 構成: Release ML Win32 ------
コンパイルしています...
aescrypt.c
aestab.c
aeskey.c
コードを生成中...
ライブラリを作成しています...
ビルドログは "file://c:\Software\Develop\aesBrianLib\Release ML\BuildLog.htm" に保存されました。
aes - エラー 0、警告 0
------ ビルド開始: プロジェクト: aes, 構成: Debug ML Win32 ------
コンパイルしています...
aeskey.c
aestab.c
aescrypt.c
コードを生成中...
ライブラリを作成しています...
ビルドログは "file://c:\Software\Develop\aesBrianLib\Debug ML\BuildLog.htm" に保存されました。
aes - エラー 0、警告 0
========== ビルド: 6 正常終了、0 失敗、0 更新、0 スキップ ==========