Error: не удается открыть источник файл "occi.h"

vadipok
Дата: 10.09.2014 11:46:13
Приветствую всех!

Вроде все делаю по инструкции, но никак не поборю.
Помогите плиз.

Кроме рисунков в путь C:\app\vvf6426\product\11.2.0\client_1\oci\include\ добавил oraocci11.lib
Также в папку Заголовочные файлы проекта закинул oci.h.
Не помогло.
vadipok
Дата: 10.09.2014 11:47:35
vadipok,

Oracle 11g
Visual C++ 2010
Dimitry Sibiryakov
Дата: 10.09.2014 12:15:23

vadipok
Не помогло.

Естественно не помогло. Пути к заголовкам - для заголовков. Библиотекам там делать нечего.
Добавь путь к ораклятым заголовкам в список путей поиска заголовков.

Posted via ActualForum NNTP Server 1.5

MasterZiv
Дата: 10.09.2014 12:34:43
Dimitry Sibiryakov
vadipok
Не помогло.

Естественно не помогло. Пути к заголовкам - для заголовков. Библиотекам там делать нечего.
Добавь путь к ораклятым заголовкам в список путей поиска заголовков.


А библиотеку -- в пути для поиска библиотек.
MasterZiv
Дата: 10.09.2014 12:37:33
Dimitry Sibiryakov
vadipok
Не помогло.

Естественно не помогло. Пути к заголовкам - для заголовков. Библиотекам там делать нечего.
Добавь путь к ораклятым заголовкам в список путей поиска заголовков.


на самом деле сделал-то он всё правильно (почти), только описал неверно.
MasterZiv
Дата: 10.09.2014 12:53:41
vadipok
Приветствую всех!

Вроде все делаю по инструкции, но никак не поборю.
Помогите плиз.

Кроме рисунков в путь C:\app\vvf6426\product\11.2.0\client_1\oci\include\ добавил oraocci11.lib
Также в папку Заголовочные файлы проекта закинул oci.h.
Не помогло.


Итак, ты добавил файл oci.h, а ошибка у тебя про какой файл ?


не удается открыть источник файл "occi.h"


Короче, ты всё делаешь неправильно.

Каждая библиотека для использования предоставляет заголовочные файлы и файлы библиотек.
Тебе НЕ НУЖНО ничего копировать из этих файлов в твой проект, оставь файлы там, где они и были,
если копировал в проект -- удали, т.е. почисть всё, что ты сделал неправильно (т.е. всё почти).

По пунктам:

  • Найти каталог, где лежат заголовочные файл OCI: oci.h и другие *.h, добавить этот каталог (полный путь к нему) в список каталогов, где ищутся подключаемые заголовочные файлы. Это можно добавить либо в переменную окружения INCLUDE, либо как сейчас модно в список таких каталогов в solution-е (ВНИМАНИЕ! В КАЖДОМ СОЛЮШИНЕ ОН РАЗНЫЙ!!). Как называется -- я не помню, настройки проекта, и там список каталогов с заголовочными файлами, теперь это по-русски/по английски -- и хрен разберёшь в итоге. Наверное, "Свойсва конфигурации/Каталоги VC++".

  • Заголовочные файлы включаются непосредственно в текст программы и их не нужно добавлять никуда в проекте, ни в какие конфигурации.

  • Найти каталог, где лежат файлы библиотек OCI, *.lib, добавить этот каталог в список каталогов для поиска библиотек, список должен быть в конфигурации проекта где-то рядом с каталогами для INCLUDE. Сами библиотеки (*.lib) не нужно никуда перемещать.

  • При включении заголовка программа будет вызывать функции библиотеки, но сама эта библиотека (*.lib) автоматом НЕ обязательно ПОДКЛЮЧИТСЯ. Её надо подключать руками, это будет надёжнее. Для этого надо указать имя файла библиотеки с расширением в списке "дополнительных зависимостей", как теперь это называется. (это единственное, что ты сделал верно). При этом надо указать ВСЕ НЕПОСРЕДСТВЕННО ИСПОЛЬЗУЕМЫЕ библиотеки. Естественно, их надо для этого знать.


    Что ты НЕ сделал -- это пункты 1) и 3).
  • vadipok
    Дата: 10.09.2014 14:11:48
    MasterZiv, спасибо за помощь!

    Вроде все сделал как ты сказал.
    Библиотеки он увидел, сейчас по край не мере пытается закомпилится.

    Ошибка другая появилась: error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию.

    Гугление результатов не дало.
    Dimitry Sibiryakov
    Дата: 10.09.2014 14:17:26

    vadipok
    Гугление результатов не дало.

    Естественно не дало. Это отвратительная ошибка, когда не подключен нужный заголовок и
    какой-нибудь макрос, нужный для определения типа, не определён. Смотри строку, которая
    указана в сообщении об ошибке, ищи где определяется используемый там тип.

    Posted via ActualForum NNTP Server 1.5

    vadipok
    Дата: 10.09.2014 15:39:11
    Dimitry Sibiryakov
    vadipok
    Гугление результатов не дало.

    Естественно не дало. Это отвратительная ошибка, когда не подключен нужный заголовок и
    какой-нибудь макрос, нужный для определения типа, не определён. Смотри строку, которая
    указана в сообщении об ошибке, ищи где определяется используемый там тип.


    Не помогло.
    Dimitry Sibiryakov
    Дата: 10.09.2014 15:45:22

    vadipok
    Не помогло.

    Э-э-э... Да, я забыл сказать, что кроме смотрения и поиска надо изменить исходники
    программы так, чтобы макрос определялся перед его использованием.

    Posted via ActualForum NNTP Server 1.5