4 Replies Latest reply on Feb 5, 2015 1:00 PM by chuckvorndran

    Building DLL for FDK API


      In the FDK Programmer's Guide, it says





      Compiling and registering your own FDK clients



      With Code Generation still selected, choose Single-Threaded from the Runtime Library

      popup list.



      However, in Visual Studio, there are only 4 options for Multi-threaded and no option for Single-threaded.  I'm running Visual Studio Express 2010, v10.0.30319.1.  The instructions are quite detailed, so I think I am looking in the correct place.


      Any suggestions?


        • 1. Re: Building DLL for FDK API
          Russ Ward Level 4

          Hi fmEveryDay,


          First, sorry for the delay. I like fm Every Day too but it was a three-day US holiday and I stayed away from the computer.


          Indeed, the documentation is out of date. Assuming FDK11, you need to set this to "Multi-threaded DLL (/MD)". That is the correct setting and no other setting will work. Older versions of the FDK use a different setting, but I'm guessing you are on FDK11.


          It can be tricky to get a project set up correctly, so let me know how it goes. I use Express version 2010 as well, so I know it can work. I seem to recall something about a requirement to manually create a resource file when using Express. But I'll leave it here for now and see how you get along.



          • 2. Re: Building DLL for FDK API
            fmEveryDay Level 1

            That’s nice to know.   I’m using FDK9 at the moment, but the winds of change are blowing toward FM11, so I will probably start the basics that I need and then port it when the time comes.  The resource file was tricky because there is no resource editor in VS Express.  I think I got it (it builds without error, so it must be right), but I have not inspected the resulting DLL yet.





            • 3. Re: Building DLL for FDK API
              Russ Ward Level 4



              For all versions of the FDK before 11, I use Multi-threaded (/MT). I use VS2008 for all of those, though. I am confident that the /MT switch builds a robust DLL, but I won't say that /MD can't work. I've just never used it. If the DLL compiles without errors and doesn't crash FM when it loads, I'd say you are probably in good shape.



              • 4. Re: Building DLL for FDK API

                The FDK12 Programmer's Guide has been out for over a year now, since January 2014.  That "Compiling, Registering, and Running FDK Clients" section in the new guide still says to select Single Threaded with Visual Studio 2010.  Heck, Microsoft pulled the Single Threading option in Visual Studio 2005.  I'm wondering how Adobe ever validates its documentation.  And what do they use to build the FDK libraries in Single Threaded mode in the first place? 

                So, yes I have to still put up with the "defaultlib "LIBC" conflicts with use of other libs;" warning.