CMake 사용시 라이브러리를 포함시키고 싶습니다
C++에서 firebreath를 이용하여 리눅스용 npPlugin을 만들고 있는데요
기존의 방식은 C++ 코드 안에서는 헤더 파일들을 include 해주고
cmake에서는 라이브러리들을 target_link_libraries로 포함시켰었는데
이런 방식으로 했더니 다른 컴퓨터에서는 플러그인 인식 자체가 안되네요
아무 라이브러리도 포함하지 않는 npPlugin을 하나 만들어서
그걸 다른 컴퓨터로 옮겨봤더니 인식이 되는 걸로 봐서 라이브러리를 포함하는 과젱에서 문제가 있었던 것 같습니다
그래서 다른 컴퓨터에 설치했을 때 애초에 별도의 라이브러리가 필요하지 않게
해당 npPlugin에 사용하는 라이브러리들까지 모두 다 포함시켜서 만들고 싶은데요
구글에서 cmake 문서를 좀 찾아서 아래와 같은 코드를 추가하였습니다
add_library(giblib_test STATIC IMPORTED)
set_property(TARGET giblib_test PROPERTY IMPORTED_LOCAION /usr/lib/libgiblib.a)
이런 식으로 라이브러리 2개를 더 추가해줬고요 마지막에
target_link_libraries(myproject giblib_test X11_test Imlib_test)를 적어줬습니다
이제 라이브러리 링크가 다 되었다고 생각했는데 다시 make를 해보니
'Imlib_Image' does not name a type
'Screen' does not name a type
'Window' does not name a type
과 같은 에러메시지가 뜨더라고요
제가 봤을땐 라이브러리가 제대로 포함이 안되서 아예 인식이 안 되는거 같은데 어떤 식으로 수정해줘야하나요?
그리고 라이브러리가 제대로 포함되었다면 C++ 안에서는 별도의 include 없이도 해당 라이브러리의 함수 등을 사용할 수 있는건지도 알고 싶습니다
댓글 달기