Honesty Rocks! truth rules.

[c/c++][linux] Linking With A -l Is Static Or Dynamic? How will it effect distribution and portability?

HOME      >>       Programming

Vyoma

It has been a long time since I coded in C/C++ and I can't seem to remember the exact mechanism of linking.

 

Say, I compiled and linked the source code given at SQLite quickstart guide (C example in Write Programs That Use SQLite) in Linux(Ubuntu) environment:

 

g++ -o"SQLiteTest" ./sqlitetest.o -lsqlite3

 

It gives me a nice executable SQLiteTest and I can use it on my system.

 

But how would it fare when I distribute that code to someone else? Is the libsqlite3.* statically packaged into SQLiteTest? or is it dynamically linked and the recipient of the program need to download the SQLite3 libraries?