我不确定问题是否更适合 StackOverflow 或 AskUbuntu ,但我会问 . 我有两个虚拟机 . 在一个Ubuntu 14.04 LTS和另一个Ubuntu 16.04 LST上 . 在以下方式安装的Oracle Instant Client 12.1上:
arkadiuszg@ubuntu:~/install/oracle$ ls -1
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
arkadiuszg@ubuntu:~/install/oracle$ sudo alien -i oracle-instantclient12.1-*
arkadiuszg@ubuntu:~/install/oracle$ cd /etc/ld.so.conf.d/
arkadiuszg@ubuntu:/etc/ld.so.conf.d$ sudo touch oracle-instantclient12.1.conf
arkadiuszg@ubuntu:/etc/ld.so.conf.d$ sudo vi oracle-instantclient12.1.conf
在创建的文件中我输入:
/usr/lib/oracle/12.1/client64/lib
最后:
arkadiuszg@ubuntu:/etc/ld.so.conf.d$ sudo ldconfig
我正在使用C工具,如:g,make,gdb . 编译项目正确地在两台机器上运行,但问题是 Ubuntu 16.04 上的链接 . 我一直收到以下错误:
DbConnection.cpp:(.text+0x536): undefined reference to `oracle::occi::Date::toText(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const'
build/Release/GNU-Linux/database/DbConnection.o: In function `CDbConnection::connect()':
DbConnection.cpp:(.text+0x1314): undefined reference to `oracle::occi::Environment::createEnvironment(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, oracle::occi::Environment::Mode, void*, void* (*)(void*, unsigned long), void* (*)(void*, void*, unsigned long), void (*)(void*, void*))'
collect2: error: ld returned 1 exit status
当我在Ubuntu 14.04上做同样的事情时,一切都还可以 . 编译和链接以成功结束 .
请有人帮帮我吧