Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C++ Visual Studio: linking using pragma comment

Tags:

I came across a piece of code which uses #pragma comment(lib, "libraryname").

Why this type of usage as opposed to just linking the library from the properties menu? In what situations is this usage called for? I am in windows using C++ Visual Studio 2010.

It would be nice to see an example which calls for this type of usage.

like image 618
user1612986 Avatar asked Oct 10 '12 14:10

user1612986


2 Answers

The library writer can place a #pragma comment(lib, ...) command in the public header (.h) file. In this case, the client doesn't need to add this library to the linker dependencies list. By including an h-file in the program, the client is automatically linked to the required library.

like image 179
Alex F Avatar answered Sep 28 '22 10:09

Alex F


Classic example - linking against different versions of the library:

#if CURRENT_VERSION >= 10      #pragma comment(lib, "thirdPartyLibV2.0.lib") #else //version < 10      #pragma comment(lib, "thirdPartyLibV1.0.lib") #endif 
like image 40
Luchian Grigore Avatar answered Sep 28 '22 09:09

Luchian Grigore