그래서 여기 이야기가 있습니다. 나는 리눅스와 더 많은 오픈 소스 툴 (btw ARM)을 사용하는이 장치를 가지고있다. 그리고 그걸로 마법의 계산원 응용 프로그램을 만드는 작업이 주어졌습니다.오라클 C++ 리눅스 이상한 것들
나는 그것을했으며 이제 나의 상사가 새로운 요청을했습니다. 그는 내가 그 물건 (장치)을 원격 데이터베이스 (바람직하게는 오라클)에 연결하기를 원합니다. 그래서 오라클 인스턴트 클라이언트의 가벼운 버전으로 시작한 것이지요. 내가 처음으로 인사 세계 실행까지 모든 것이 잘 시원한 :
#include <occi.h>
using namespace oracle::occi;
int main(){
Environment *env = Environment::createEnvironment();
Connection *conn = env->createConnection("HR", "password");
env->terminateConnection(conn);
Environment::terminateEnvironment(env);
return 0;
}
이 OCCI, clntsh, 스레드에 대한 연결을; 라이브러리 검색 경로를 다른 항목과 함께 설정하면 : $ {workspace_loc :/OracleTest/instantclient_10_2} "은 내 .so 파일을 보유하는 디렉토리입니다. 여기
는 컴파일 명령입니다 :ucfront-g++ -Wl,-elf2flt="r" -static -o OracleTest ./main.o -locci -lclntsh -lthread -L/usr/local/arm-elf/lib -L"C:\workspace\OracleTest\instantclient_10_2" -L/usr/local/fit-libs/lib
그리고 여기에 오류가 :
/usr/local/arm-elf/bin/ld.real: cannot find -locci collect2: ld returned 1 exit status
내가 언급하고 싶은 몇 가지가 있습니다 :
1 전 '을 실행하고을 컴파일하고 이것을 리눅스으로 컴파일하면 즉각적인 클라이언트 버전 인 다운로드 한 것은 Linux x86 (문제가 발생하거나 문제의 근원이 될 수 있다면 아이디어 없음)입니다.
2 수정 된 버전 이클립스을 사용하여 개발했습니다.
3 나는 그 사람들을 움직여야할지 전혀 모르겠다. 컴파일 후 장치에 libs가 있으면, 누군가 내가 그 방향을 제시 할 수 있다면, 나는 매우 감사 할 것이다.
TLDR : 위의 코드를 컴파일하지 않겠지 만 링크가되지 않습니다. 도와주세요.
편집가 : 두 개의 첫번째 답변을
, 아니 내가 어떤 특정 ARM 라이브러리를 발견하지 않았습니다, 나는 어떤 있다고 생각하지 않습니다.
누구든지 ARM 배포판과 비슷한 것을 찾을 수 있다면 감사하겠습니다. 이 유통이 RISC하지만 나는 그들이 ARM와 호환되는지 모르는 : 당신은 오라클 라이브러리의 ARM 버전이없는 경우
Instant Client for HP-UX PA-RISC (64-bit)
Instant Client for HP-UX PA-RISC (32-bit)
내가 배포 할 Linux에서 어떻게 실행하게합니까? 라이브러리와 컴파일 된 소프트웨어간에 어떤 종류의 의존성이있을 것입니까? –