Re: VC8 and GTK development



> I added C:\Program Files\GTK-2.0\libs\*.lib to the list of linker
> files in my project properties.

(Is the folder name really "libs"? That is a bit unusual, "lib" is the
common name for such a folder, even in Microsoft culture. It usually
makes sense not to invent new conventions without a good reason.)

That means that the linker will link with the import libraries for the
DLLs. It does not affect run-time behaviour.

> However whenever I run my program, I get the following dynamic linker error:

> This application has failed to start because
> libgdk-win32-2.0-0-vs8.dll was not found.

In order for the application to find the DLLs which are needed, you
need to either add the folder(s) where they are to your PATH
environment variable, or keep the application EXE in the same folder
as the DLLs.

> I'm not real familiar with dynamic linking,

The term "dynamic linking" can either mean what you are using here,
i.e. "normal" linking to shared libraries (DLLs) handled by the system
when starting an application, or explicit loading of shared libraries
by the code at run-time, using functions like LoadLibrary() or
g_module_open(). (There is also "delayed loading" in the Microsoft
tools which is like a combination of these. I don't know if it is
possible to delay load GTK+ DLLs.)

> my program is expecting to link to this DLL, and neither the
> program nor I am able to locate it.

Have you installed any GTK+ runtime at all, or just a "developer"
package that only contains the headers and import libraries which are
used to build your application (but not used at run-time)?

(Please note that nothing of this is specific to GTK+. These concept
are generic in Windows development. If you develop for Windows, you
really should read up on these issues.)

--tml


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]