버전문제인지 정확한 원인을 알 수가 없다.
어제 일때문에 어부지리로 set_target_properties에 대한 VERSION, SOVERSION property에 대해서 알겠됐다.
보통 라이브러리를 만드려고 하면 아래와 같이 한다.
add_library( lib_name shared sources )
이렇게 만든다.
그런데 target에 대해 속성값을 주어 다르게 만들 수도 있다.
정의를 보자면 set_target_properties( target1 target2 ... PROPERTIES prop1 value1 prop2 value2 ... )
target은 설정하고자 하는 라이브러리 이름이고 PROPERTIES 다음에 나오는 prop1는 속성이름이다.
이 이름중에 VERSION, SOVERSION에 대해서 설명하려고 한다.
간단하게 말해 VERSION, SOVERSION은 각각 빌드 버전과 API버전이다.
예로 target 이름이 orocos-helloworld 이면 생성되는 파일은
liborocos-helloworld-gnulinux.so ->liborocos-helloworld-gnulinux.so.1.10.1
liborocos-helloworld-gnulinux.so.1.10 ->liborocos-helloworld-gnulinux.so.1.10.1
liborocos-helloworld-gnulinux.so.1.10.1
VERSION: 1.10.1
SOVERSION: 1.10
댓글 없음:
댓글 쓰기