문제
정상적으로 작동하는 간단한 응용 프로그램을 만들었습니다. 그러나 이제 다음 디렉토리의 일부 라이브러리와 연결해야합니다.
/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 생성 명령의 차이를 보여줄 수 있습니다.
제휴하지 않습니다 StackOverflow