Linux Общий C++ Библиотек

Я столкнулся с точно таким же поведением:

Я использую Oracle XE и MS SQL Server Express на моем 64-битном ПК с Windows 7 - я обновился до java 1.6.0_29 с 1.6.0_27 (версия x64) и был удивлен, увидев, что те же программы могут подключаться к Oracle XE, но не к MS SQL Server ...

Я проследил проблему до javax.sql.DataSource.getConnection(), где она висела навсегда - потому что это всего лишь интерфейс, драйверы jdbc вызвали у меня подозрения ...

Я использую драйвер JDBC для MS SQL Server 3.0.1301.202 и даже обновился до CTP-версии SQL Server («предварительный технический обзор сообщества») 4.0.1722.1, потому что я подозревал, что он должен что-то делать с драйвером jdbc но безуспешно: все еще висит!

Мой обходной путь должен был понизиться до 1.6.0_27 и - bang: все снова было хорошо!

С наилучшими пожеланиями, Эрих

5
задан user101375 8 June 2009 в 11:49
поделиться

2 ответа

Вам необходимо включить файл заголовка в ваше приложение и связать его с ним.

Посмотрите, как использовать библиотеки в разделяемых библиотеках и Linux howto .

Если файл заголовка находится не в том же каталоге, что и ваше приложение (а это обычно не так), вам нужно указать компилятору, где его искать, вы используете -I / path / to / include , чтобы указать путь к подключаемому каталогу, который содержит файл заголовка.

На этапе связывания вам необходимо указать на библиотеку. Обычно используется -L / path / to / lib - это путь к каталогу, содержащему вашу библиотеку, за которым следует -l , где - это имя библиотеки без lib , например, если у вас есть libboost_serialization-d-1_34_1. поэтому вы должны использовать -lboost_serialization-d-1_34_1

Примеры:

g++ -I/sw/include -Wall -g -I/usr/local/include/boost-1_36/ -c main.cpp -o main.o
g++ -L/sw/lib -lboost_serialization-d-1_34_1 -o x main.o 
10
ответ дан 13 December 2019 в 22:15
поделиться

Вы также изменили путь включения (параметр -I), чтобы он знал где искать заголовки библиотеки? Если вы этого не сделали, компилятор будет жаловаться на то, что не может найти функции / классы / структуры / и т. Д.

0
ответ дан 13 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: