0
votes

I have wrote a simple program in C that generates a .tex file containing a list of exercises, and outputs a pdf by making a system() call to 'pdflatex'.

It's obvious that it will work on my PC, since I have installed the miktex whole package, but trying to make it to work on other Windows machines pops up at least 4 .dll dependencies.

What I need to know is:

  • How does an expert developer deal with missing dependencies?
  • Is there a procedure that a dev follows to know which dependencies does an .exe file need? (Like if you want to know the dependencies for the file foo.exe, you need to search [...] on Google)
  • What is the best solution: copy all the missing dependencies in the release folder of my program, or prompt the user to install miktex?
  • What is a .dll file?
  • How does a developer generate them? I know they are related with compiling source files in reusable object code.
  • Will I ever be a good dev? Oh sorry, I let some thoughts flow through my hands.
1

1 Answers

1
votes

A dll is a "dynamic library" installed on the computer of precompiled code that can be shared between multiple applications. The advantages of a dynamic library over a static library are that your install package can be smaller and the developer of the library can fix bugs and security holes that all the applications then benefit from.

In MS dev studio you can just choose to build a dll. With mingw64 you just set the name of the build target to whatever.dll basically. You do need to tag the functions you want the clients to use, the "entry points", and provide a header for those functions.

A proper package installer should handle installing the dlls that your package needs. That might mean that it prompts to download and install the additional packages, or that the dlls are included in the installation.

Yes, if you keep asking the right questions :-)