Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2014, 18:02   #1
mibin
Пользователь
 
Регистрация: 29.01.2009
Сообщений: 22
По умолчанию OCCI. Unresolved unresolved token

Добрый день!

Скачал Oracle Client и установил на машину.

Далее скачал два файла:
- instantclient-basic-windows.x64-12.1.0.2.0.zip
- instantclient-sdk-windows.x64-12.1.0.2.0.zip

Разархивировал в папку: C:\Oracle

Далее создал CLR проект в VS 2013.
В проекте указал пути в include и lib:
Project - Project 1 Properties - VC++ Directories - Include Directories = C:\Oracle\instantclient_12_1\sdk\in clude
Project - Project 1 Properties - VC++ Directories - Library Directories = C:\Oracle\instantclient_12_1\sdk\li b\msvc\vc12

Подключил файл:
Код:
#include <occi.h>
В проект по кнопке повесил такое:
Код:
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
		oracle::occi::Environment * env = oracle::occi::Environment::createEnvironment(oracle::occi::Environment::DEFAULT);
	}
При компиляции поллучаем следующую ошибку:
Код:
Error	1	error LNK2028: unresolved token (0A0003E3) "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,void * (__cdecl*)(void *,unsigned int),void * (__cdecl*)(void *,void *,unsigned int),void (__cdecl*)(void *,void *))" (?createEnvironment@Environment@occi@oracle@@$$FSAPAV123@W4Mode@123@PAXP6APAX1I@ZP6APAX11I@ZP6AX11@Z@Z) referenced in function "private: void __clrcall Project1::MyForm::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@MyForm@Project1@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	C:\Users\user\Documents\Visual Studio 2013\Projects\Project1\Project1\Project1.obj	Project1
Error	2	error LNK2028: unresolved token (0A0003E2) "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,void * (__cdecl*)(void *,unsigned int),void * (__cdecl*)(void *,void *,unsigned int),void (__cdecl*)(void *,void *))" (?createEnvironment@Environment@occi@oracle@@$$FSAPAV123@W4Mode@123@PAXP6APAX1I@ZP6APAX11I@ZP6AX11@Z@Z) referenced in function "private: void __clrcall Project1::MyForm::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@MyForm@Project1@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	C:\Users\user\Documents\Visual Studio 2013\Projects\Project1\Project1\MyForm.obj	Project1
Error	3	error LNK2019: unresolved external symbol "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,void * (__cdecl*)(void *,unsigned int),void * (__cdecl*)(void *,void *,unsigned int),void (__cdecl*)(void *,void *))" (?createEnvironment@Environment@occi@oracle@@$$FSAPAV123@W4Mode@123@PAXP6APAX1I@ZP6APAX11I@ZP6AX11@Z@Z) referenced in function "private: void __clrcall Project1::MyForm::button1_Click(class System::Object ^,class System::EventArgs ^)" (?button1_Click@MyForm@Project1@@$$FA$AAMXP$AAVObject@System@@P$AAVEventArgs@4@@Z)	C:\Users\user\Documents\Visual Studio 2013\Projects\Project1\Project1\MyForm.obj	Project1
Error	4	error LNK2001: unresolved external symbol "public: static class oracle::occi::Environment * __cdecl oracle::occi::Environment::createEnvironment(enum oracle::occi::Environment::Mode,void *,void * (__cdecl*)(void *,unsigned int),void * (__cdecl*)(void *,void *,unsigned int),void (__cdecl*)(void *,void *))" (?createEnvironment@Environment@occi@oracle@@$$FSAPAV123@W4Mode@123@PAXP6APAX1I@ZP6APAX11I@ZP6AX11@Z@Z)	C:\Users\user\Documents\Visual Studio 2013\Projects\Project1\Project1\Project1.obj	Project1
Error	5	error LNK1120: 3 unresolved externals	C:\Users\user\Documents\Visual Studio 2013\Projects\Project1\Debug\Project1.exe	Project1
И вот вопрос ЧЗХ где я обшибся?
mibin вне форума Ответить с цитированием
Старый 22.10.2014, 21:33   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Создали дот нет проект и используете вместо, например, ODP .NET С++ либу.
p51x вне форума Ответить с цитированием
Старый 23.10.2014, 23:56   #3
mibin
Пользователь
 
Регистрация: 29.01.2009
Сообщений: 22
По умолчанию

Использование обусловлено возможностью задавать значения для bind переменных установкой значений для параметризованных запросов. Возможно я не прав, возможно через ODP выполнить такой запрос:
Код:
SELECT :parametr FROM dual;
?

И что нельзя использовать обычные C++ lib'ы в проекте на .net?

Последний раз редактировалось mibin; 24.10.2014 в 00:03.
mibin вне форума Ответить с цитированием
Старый 24.10.2014, 11:00   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,708
По умолчанию

Цитата:
И что нельзя использовать обычные C++ lib'ы в проекте на .net?
Можно, но не в лоб и не забыть про маршалинг.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Unresolved external __fastcall Silly Student C++ Builder 1 22.10.2011 21:55
Unresolved external Alex54 C++ Builder 0 15.03.2011 00:21
Unresolved externals Smusmumriken Общие вопросы C/C++ 4 10.06.2010 23:16
unresolved external symbol IgorKr Общие вопросы C/C++ 3 20.12.2008 15:01
unresolved external symbol Prestigio Общие вопросы C/C++ 2 28.07.2008 07:12