Добрый день. Компилятор ICC, ось – CentOS.
Подскажите, пожалуйста, как правильно подлинковать либу mysqlclient.so в свою so-либку?
Ну и подключить каталоги include и lib мускуля.
Здравствуйте, Schnitzer, Вы писали:
S>Ну и подключить каталоги include и lib мускуля.
добавь флажки, например в CFLAGS.. что то типа:
-I/usr/include/mysql -L/usr/lib/ -lmysqlclient
первые два — пути до файлов, третий — указание линковки с такой то библиотекой..
указывать расширения — плохо, т.к. получается жесткая привязка к определенному типу..
S>Подскажите, пожалуйста, как правильно подлинковать либу mysqlclient.so в свою so-либку?
а это я не знаю.. задавался таким вопросом, но в доках не нашел еще..
...coding for chaos...
Re[2]: Linux, ICC, Makefile, подлинковать mysqlclient.so в с
Здравствуйте, neFormal, Вы писали:
F>добавь флажки, например в CFLAGS.. что то типа: F>-I/usr/include/mysql -L/usr/lib/ -lmysqlclient
F>а это я не знаю.. задавался таким вопросом, но в доках не нашел еще..
Все примерно так и делаю но не работает.
При загрузке самой jampgamei386.so выдает такую ошибку:
если хочешь всё таки их скрестить, то имхо есть 2 варианта:
1. поискать флажки в man gcc
2. использовать libelf для непосредственной записи нужных данных в твою .so-шку.. но это изврат
имхо лучше просто прилинковать к бинарнику еще и -lmysqlclient..
ЗЫЖ кстати, зря игнорируешь указание soname при создании .so-шки..
...coding for chaos...
Re[3]: Linux, ICC, Makefile, подлинковать mysqlclient.so в с
где,
filelist — список .o файлов, к которым надо получить доступ
liblist — список библиотек, к которым будет получать доступ эта библиотека.. (не стороннее приложение, а только библиотека)
Здравствуйте, neFormal, Вы писали:
F>gcc -shared -Wl,-soname,libfoo.so.1 -o libfoo.1.0.1 foo.o bar.o -lc F>но это для гцц.. для интеловского компилятора может быть иначе..
собрал таким способом при помощи гцц, работает
правда... боюсь багов теперь будет масса...
спасибо!
Re[4]: Linux, ICC, Makefile, подлинковать mysqlclient.so в с
Здравствуйте, neFormal, Вы писали:
F>gcc -shared -Wl,-soname,libfoo.so.1 -o libfoo.1.0.1 foo.o bar.o -lc F>но это для гцц.. для интеловского компилятора может быть иначе..
В общем Спасибо большое. Разобрался как это реализовать на ICC.
Может кому поможет... Выкладываю работоспособный Makefile: