3 返信 最新の回答 日時: Apr 10, 2013 3:24 AM ユーザー:KZ

    プラグイン コンパイルエラー

    KZ

      タイトル

      プラグイン コンパイルエラー

      フォーラムに投稿

           お世話になります。

           プラグインの作成に挑戦しているのですが、初っ端からコンパイルのエラーで悩まされているため、是非ともご教授頂きたくお願い致します。

            

      【事象】

           サンプルプログラムのダウンロード元サイト http://www.24usoftware.com/PlugInTemplate から、プラグインのサンプル(24U Plug-In Template 3.1)をダウンロード。

           サンプル内の WinExample.vcproj を開き、コンパイルすると、下記の警告及びエラーが発生します。( 1. と 2. のみは後述の方法で解決済み)

            

             
      1.           error C2664: 'Sub_GetFilteredChars' : 3 番目の引数を 'fmx::ulong' から 'unsigned long &' に変換できません。(新しい機能 ; ヘルプを参照) K:\Users\...\Desktop\24uPlugInTemplate31\24U Plug-In Template 3.1\24U Plug-In Template 3.1\Support\FMPlugInSDK\Example\Support\FMPluginFunctions.cpp 246 1 WinExample
                   
      2.      
      3.           error RC1015: cannot open include file 'afxres.h'. K:\Users\...\Desktop\24uPlugInTemplate31\24U Plug-In Template 3.1\24U Plug-In Template 3.1\Support\FMPlugInSDK\Example\Support\FMPluginExample.rc 16 1 WinExample
                   
      4.      
      5.           warning MSB8012: TargetPath(K:\Users\...\Desktop\24uPlugInTemplate31\24U Plug-In Template 3.1\24U Plug-In Template 3.1\Support\FMPlugInSDK\Example\.\WinPluginDataDebug\WinExample.dll) does not match the Linker's OutputFile property value (K:\Users\...\Desktop\24uPlugInTemplate31\24U Plug-In Template 3.1\24U Plug-In Template 3.1\Support\FMPlugInSDK\Example\WinExampleD.fmx). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile). C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets 1137 5 WinExample
                   
      6.      
      7.           error LNK1181: 入力ファイル 'FMWrapper.lib' を開けません。 K:\Users\...\Desktop\24uPlugInTemplate31\24U Plug-In Template 3.1\24U Plug-In Template 3.1\Support\FMPlugInSDK\Example\LINK WinExample

            

           上記1.は引数となっている変数をfmx::ulong (unsigned int) ではなく、unsigned longとして宣言するようソースを修正したところ、解決。2.は、afxres.h をwindows.h と書き換えて解決。

           しかし、3.及び4.の対処方法が分かりません。

            

           【開発環境】

           ●Windows7

           ●Microsoft Visual Studio Express 2012 for Windiws Desktop

            

           【補足】

           ●上記ダウンロード元サイトは、Filemaker公式サイト http://www.filemaker.co.jp/support/technologies/ の下の方にある「カスタムプラグインを作成(英語)」のリンクから行けるものです。ダウンロード元サイト自体は、公式サイトではない(?)ようですが・・・。

           ●当該ファイル WinExample.vcproj は、ダウンロードしたzipを解凍後、 \24uPlugInTemplate31\24U Plug-In Template 3.1\24U Plug-In Template 3.1\Support\FMPlugInSDK\Example  にあります。

           ●FMWrapper.lib も  \24uPlugInTemplate31\24U Plug-In Template 3.1\24U Plug-In Template 3.1\Support\FMPlugInSDK\Libraries\Win\win32 にあります。

        • 1. Re: プラグイン コンパイルエラー
          qbxxdp

                

               「WinExample.vcproj」は、古いサンプルですね!
                
               【PlugInTemplate.vcxproj】コチラを使いましょう!
                
               24U Plug-In Template 3.1\Projects\VisualStudio 2010\PlugInTemplate.vcxproj
                
               以下は、参考:
               FileMaker プラグインの開発をMicrosoft .NET Frameworkで行う[1] :
          • 2. Re: プラグイン コンパイルエラー
            qbxxdp

                 Releaseモードのビルドで激しくエラーが出ますね!

                 以下を参考に修正すれば、ビルド可能になります!

                 FileMaker プラグインを作る準備!|Visual Studio 2012 Express :

            http://blog.joy-h.com/2013/02/filemaker-visual-studio-2012-express.html

            • 3. Re: プラグイン コンパイルエラー
              KZ

              質問者のKZです。
              qb_dpさん、回答ありがとうございます。
              ご教授頂いたURLの方法で、上手くビルドできました! お礼の投稿が遅くなり、申し訳ありません。


              <実施した方法>
              1. サンプルプログラムのフォルダ "24U Plug-In Template 3.1\Projects\VisualStudio 2010" 内の、"PlugInTemplate.vcxproj" を使用する。

              2. Releaseモードでのビルドのエラーは下記により解決。
                 A) VisualStudioのメニュー「プロジェクト」→「プロパティ」→(構成:Release)「構成プロパティ」→「全般」で、
                     「ターゲットの拡張子」欄を ".fmx" に変える。

                 B) VisualStudioのメニュー「プロジェクト」→「プロパティ」→(構成:Release)「構成プロパティ」→「リンカー」→「入力」で、
                     「追加の依存ファイル」欄に "$(ProjectDir)..\..\Support\FMPlugInSDK\Libraries\Win\win32\FMWrapper.lib" を追加。

              上記でビルドし、成功。
              "24U Plug-In Template 3.1\Output\x86" 内に、プラグインのファイル "FMPlugin.fmx" が作成されました!

              (詳細方法は、http://blog.joy-h.com/2013/02/filemaker-visual-studio-2012-express.html の通り)