Как мне создать следующий mwe?
$ g++ -o stackoverflow stackoverflow.cpp -I/home/myuser/Downloads
/instantclient_23_6/sdk/include -L/home/myuser/Downloads/instantclient_23_6 -l:libclntsh.so.23.1 -l:libocci.so.23.1
/usr/bin/ld: /home/myuser/Downloads/instantclient_23_6/libocci.so.23.1: undefined reference to `OCILobGetLength'
/usr/bin/ld: /home/myuser/Downloads/instantclient_23_6/libocci.so.23.1: undefined reference to `OCILobArrayWrite'
...
$ cat stackoverflow.cpp
#include
using namespace oracle::occi;
using namespace std;
int main() {
// Database connection details
string user = "mwe";
string password = "mwe";
string connectString = "itsonlyamwe";
Environment *env = nullptr;
env = Environment::createEnvironment(Environment::DEFAULT);
return 0;
}
$ ls /home/myuser/Downloads/instantclient_23_6
BASIC_LICENSE glogin.sql libclntsh.so.21.1 libclntshcore.so.22.1 libocci.so.20.1 network ucp17.jar
BASIC_README legacy.so libclntsh.so.22.1 libclntshcore.so.23.1 libocci.so.21.1 ojdbc11.jar uidrvci
SDK_LICENSE libclntsh.so libclntsh.so.23.1 libnnz.so libocci.so.22.1 ojdbc17.jar xstreams.jar
SDK_README libclntsh.so.10.1 libclntshcore.so libocci.so libocci.so.23.1 ojdbc8.jar
SQLPLUS_LICENSE libclntsh.so.11.1 libclntshcore.so.12.1 libocci.so.10.1 libociei.so pkcs11.so
SQLPLUS_README libclntsh.so.12.1 libclntshcore.so.18.1 libocci.so.11.1 libocijdbc23.so sdk
adrci libclntsh.so.18.1 libclntshcore.so.19.1 libocci.so.12.1 libsqlplus.so sqlplus
fips.so libclntsh.so.19.1 libclntshcore.so.20.1 libocci.so.18.1 libsqlplusic.so ucp.jar
genezi libclntsh.so.20.1 libclntshcore.so.21.1 libocci.so.19.1 libtfojdbc1.so ucp11.jar
$ ll /home/myuser/Downloads/instantclient_23_6/libocci.so
lrwxrwxrwx 1 myuser myuser 15 Dec 3 12:13 /home/myuser/Downloads/instantclient_23_6/libocci.so -> libocci.so.23.1*
$ ll /home/myuser/Downloads/instantclient_23_6/libclntsh.so
lrwxrwxrwx 1 myuser myuser 17 Dec 3 12:13 /home/myuser/Downloads/instantclient_23_6/libclntsh.so -> libclntsh.so.23.1*
$ ls /home/myuser/Downloads/instantclient_23_6/sdk/include
jzndom.h nzt.h oci.h ocidfn.h odci.h oraxml.hpp oro.h xmldf.h xmlsoap.h
jznerr.h occi.h oci1.h ociextp.h ons.h oraxmlcg.h ort.h xmlerr.h xmlsoap.hpp
jznev.h occiAQ.h oci8dp.h ocijson.h opmnlist.h oraxsd.h xa.h xmlev.h xmlsoapc.hpp
jznotn.h occiCommon.h ociap.h ocikpr.h orajson.h oraxsd.hpp xml.h xmlotn.h xmlurl.h
jzntypes.h occiControl.h ociapr.h ociver.h orastruc.h ori.h xml.hpp xmlotn.hpp xmlxptr.h
ldap.h occiData.h ocidef.h ocixmldb.h oratypes.h orid.h xmlctx.hpp xmlproc.h xmlxsl.h
nzerror.h occiObjects.h ocidem.h ocixstream.h oraxml.h orl.h xmldav.h xmlsch.h xmlxvm.h
Я получил библиотеки и включил файлы со страницы загрузки Oracle.
Я прочитал /usr/bin/ld: не могу найти -ldlib / usr/bin/ld: не могу найти -lcblas /usr/bin/ld: не могу найти -llapack установка пакетов разработки — это извлечение sdk. Результат показан выше.
ChatGPT предлагает попробовать полные пути, например
g++ -o occi_demo occi_demo.cpp \
-I/home/myuser/Downloads/instantclient_23_6/sdk/include \
/home/myuser/Downloads/instantclient_23_6/libclntsh.so \
/home/myuser/Downloads/instantclient_23_6/libocci.so
однако это привело к той же ошибке связывания.
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
Подробнее здесь: https://stackoverflow.com/questions/792 ... ing-oracle
Как решить проблему с компоновщиком /usr/bin/ld: неопределенные ссылки при связывании библиотек Oracle [дубликат] ⇐ Linux
1733350246
Anonymous
Как мне создать следующий mwe?
$ g++ -o stackoverflow stackoverflow.cpp -I/home/myuser/Downloads
/instantclient_23_6/sdk/include -L/home/myuser/Downloads/instantclient_23_6 -l:libclntsh.so.23.1 -l:libocci.so.23.1
/usr/bin/ld: /home/myuser/Downloads/instantclient_23_6/libocci.so.23.1: undefined reference to `OCILobGetLength'
/usr/bin/ld: /home/myuser/Downloads/instantclient_23_6/libocci.so.23.1: undefined reference to `OCILobArrayWrite'
...
$ cat stackoverflow.cpp
#include
using namespace oracle::occi;
using namespace std;
int main() {
// Database connection details
string user = "mwe";
string password = "mwe";
string connectString = "itsonlyamwe";
Environment *env = nullptr;
env = Environment::createEnvironment(Environment::DEFAULT);
return 0;
}
$ ls /home/myuser/Downloads/instantclient_23_6
BASIC_LICENSE glogin.sql libclntsh.so.21.1 libclntshcore.so.22.1 libocci.so.20.1 network ucp17.jar
BASIC_README legacy.so libclntsh.so.22.1 libclntshcore.so.23.1 libocci.so.21.1 ojdbc11.jar uidrvci
SDK_LICENSE libclntsh.so libclntsh.so.23.1 libnnz.so libocci.so.22.1 ojdbc17.jar xstreams.jar
SDK_README libclntsh.so.10.1 libclntshcore.so libocci.so libocci.so.23.1 ojdbc8.jar
SQLPLUS_LICENSE libclntsh.so.11.1 libclntshcore.so.12.1 libocci.so.10.1 libociei.so pkcs11.so
SQLPLUS_README libclntsh.so.12.1 libclntshcore.so.18.1 libocci.so.11.1 libocijdbc23.so sdk
adrci libclntsh.so.18.1 libclntshcore.so.19.1 libocci.so.12.1 libsqlplus.so sqlplus
fips.so libclntsh.so.19.1 libclntshcore.so.20.1 libocci.so.18.1 libsqlplusic.so ucp.jar
genezi libclntsh.so.20.1 libclntshcore.so.21.1 libocci.so.19.1 libtfojdbc1.so ucp11.jar
$ ll /home/myuser/Downloads/instantclient_23_6/libocci.so
lrwxrwxrwx 1 myuser myuser 15 Dec 3 12:13 /home/myuser/Downloads/instantclient_23_6/libocci.so -> libocci.so.23.1*
$ ll /home/myuser/Downloads/instantclient_23_6/libclntsh.so
lrwxrwxrwx 1 myuser myuser 17 Dec 3 12:13 /home/myuser/Downloads/instantclient_23_6/libclntsh.so -> libclntsh.so.23.1*
$ ls /home/myuser/Downloads/instantclient_23_6/sdk/include
jzndom.h nzt.h oci.h ocidfn.h odci.h oraxml.hpp oro.h xmldf.h xmlsoap.h
jznerr.h occi.h oci1.h ociextp.h ons.h oraxmlcg.h ort.h xmlerr.h xmlsoap.hpp
jznev.h occiAQ.h oci8dp.h ocijson.h opmnlist.h oraxsd.h xa.h xmlev.h xmlsoapc.hpp
jznotn.h occiCommon.h ociap.h ocikpr.h orajson.h oraxsd.hpp xml.h xmlotn.h xmlurl.h
jzntypes.h occiControl.h ociapr.h ociver.h orastruc.h ori.h xml.hpp xmlotn.hpp xmlxptr.h
ldap.h occiData.h ocidef.h ocixmldb.h oratypes.h orid.h xmlctx.hpp xmlproc.h xmlxsl.h
nzerror.h occiObjects.h ocidem.h ocixstream.h oraxml.h orl.h xmldav.h xmlsch.h xmlxvm.h
Я получил библиотеки и включил файлы со страницы загрузки Oracle.
Я прочитал /usr/bin/ld: не могу найти -ldlib / usr/bin/ld: не могу найти -lcblas /usr/bin/ld: не могу найти -llapack установка пакетов разработки — это извлечение sdk. Результат показан выше.
ChatGPT предлагает попробовать полные пути, например
g++ -o occi_demo occi_demo.cpp \
-I/home/myuser/Downloads/instantclient_23_6/sdk/include \
/home/myuser/Downloads/instantclient_23_6/libclntsh.so \
/home/myuser/Downloads/instantclient_23_6/libocci.so
однако это привело к той же ошибке связывания.
$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.5 LTS"
Подробнее здесь: [url]https://stackoverflow.com/questions/79252867/how-to-solve-linker-issue-usr-bin-ld-undefined-references-when-linking-oracle[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия