В моем примере кода C я использую mysqlclient для подключения к серверу MySQL. Вот Makefile.Как сделать частичную ссылку?
example: example.c
$(CC) $< -o [email protected] `mysql_config --cflags --libs`
Он отлично работает. Но изготовленный пример - динамический союзник, который не то, что я хочу. То, что я хочу сделать, это связать с libmysqlclient статический союзника, в то время как связь с другими библиотеками динамического союзника, такие как libz, libcrypto.
FYI. Выход mysql_config «ы с --cflags --libs:
$ mysql_config --cflags --libs
-I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions \
-fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv
-rdynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm \
-L/usr/lib64 -lssl -lcrypto
Возможный дубликат [Можно ли смешивать библиотеки статических и совместно используемых объектов при связывании?] (Http://stackoverflow.com/questions/2954387/cani-i-mix-static-and-shared-object-libraries-when -linking) –