문제

정상적으로 작동하는 간단한 응용 프로그램을 만들었습니다. 그러나 이제 다음 디렉토리의 일부 라이브러리와 연결해야합니다.

/opt/norton/lib

내 제조업 파일에는 다음과 같은 작업이 있지만 Cmake를 사용해야합니다.

LIBS_PATH = -L/opt/norton/lib
INC_PATH = -I/opt/norton/inc

LIBS = -lntctrl

내 cmakelist.txt에서 나는 이것을 가지고 있지만 작동하지 않는다. 나는 다음 오류를 유지한다.

undefined reference to `nt_init'

이것은 내 cmakelist.txt입니다

# Includes files
INCLUDE_DIRECTORIES(/opt/norton/inc)

# Link libraries
LINK_DIRECTORIES(/opt/norton/lib)

# Add the library that is used by nt_init
TARGET_LINK_LIBRARIES(-lntctrl)

ADD_LIBRARY(application initialize_nw) 

조언에 감사드립니다.

도움이 되었습니까?

해결책

시험해보십시오 TARGET_LINK_LIBRARIES(ntctrl),, -l 깃발을 거기에서 사용해서는 안됩니다 (내가 생각한 내용에서 추측)

이것이 내가 cmake 파일을 작성하는 방법입니다.

include_directories(/opt/norton/inc)
link_directories(/opt/norton/lib)
add_executable(application initialize_nw)
target_link_libraries(application ntctrl)

Make 중에 실행되는 실제 명령 줄이 무엇인지 보여주기 위해 다음을 사용합니다.

make VERBOSE=1

어쩌면 이것은 수동으로 실행 한 내용과 CMAKE 생성 명령의 차이를 보여줄 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top