C によるエクステンションの作成方法のトピックにおいて、Microsoft Visual Studio 6のC コンパイラを使用したZEMAXエクステンションの記述方法およびコンパイル方法を詳細に記述しております。
http://www.prolinx.co.jp/zemaxforum/viewtopic.php?f=23&t=484&sid=069770c0bcf2240c9435943aad0a9534このトピックにおいてMicrosoft社Visual Studio 2005のコンパイラの構成方法について説明いたします。エクステンションに関する説明については上記のオリジナルトピックをご参照ください。
Visual Studio 2005を起動し、C++ Win32 projectの新規作成を行ってください。
添付ファイル:
VS2005_01[1].gif [ 15.33 KiB | 表示回数: 639 回 ]
このプロジェクトに名前をつけます。今回の例では、VS2005と名前を付け、[OK]を押します。次の画面の「Application Setting」では、ファイルを作成しないように [Empty Project] に設定します。
添付ファイル:
VS2005_02[1].gif [ 15.54 KiB | 表示回数: 640 回 ]
プロジェクトを「Release Mode」として設定します。
添付ファイル:
VS2005_04[1].gif [ 23.56 KiB | 表示回数: 636 回 ]
Solution Explorer内で、[Source Files] (下の図では赤枠1)をクリックし、次に右クリックしてAdd…Add Existing Itemを選択します。このトピックの最後からダウンロードできる二つのファイルhello_world.c およびzclient.cを追加します。
添付ファイル:
VS2005_03[1].gif [ 14.92 KiB | 表示回数: 637 回 ]
(zclient.c はZEMAXに付属されておりますが、Jan 22 2007より前のZEMAXのバージョンをお使いの場合、ZEMAXに付属されているものではなく、添付のzclient.cをお使いください。新しいバージョンのものはMicrosoft Visual Studio 2005用に下記の行を含みます。
#
pragma warning (
disable : 4996 )
// functions like strcpy are now deprecated for security reasons; this disables the warningCおよびC++の各インプリメンテーションではホストPCまたはオペレーティングシステムに特有の特性をサポートしています。上記 #pragma 指示は、各コンパイラがPCおよびOS固有の特性を提供しつつCおよびC++言語との総合的な互換性を維持することを可能にしています。Pragmasは本質的にPCまたはOS固有のものであり、通常各コンパイラによって異なります。
Jan 22 2007以降のZEMAXのバージョンでは、更新されたzclient.cが含まれています。)
続いてSolutions Explorer内で、トップにあるプロジェクト(上の図で赤枠2)をクリックし作成中のプロジェクトを選択して、Project...Propertiesをクリックするか[Alt]+F7を押します。プロパティの設定で変更する点が2つあります。ひとつ目は、General Configuration Propertiesで、Multi-Byte Character Setを選択します。
添付ファイル:
VS2005_05[1].gif [ 31.23 KiB | 表示回数: 43 回 ]
二つ目の変更点は、C/C++ settingsにおいて64ビット コンパイルに対する移植性の問題の警告を消します。(64ビット コンパイルは別にサポートされます。)
添付ファイル:
VS2005_06[1].gif [ 28.6 KiB | 表示回数: 43 回 ]
Build...Build Solutionをクリックし、プロジェクトはエラーなしで正常にコンパイルされるはずです。
------ Build started: Project: VS2005, Configuration: Release Win32 ------
Compiling...
zclient.c
hello_world.c
Linking...
Generating code
Finished generating code
Embedding manifest...
VS2005 - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
以上がMicrosoft Visual Studio 2005を使用したエクステンションのコンパイル方法です。
その他はCによるエクステンションの作成方法と一緒です。