我创建了一个工作正常的简单应用程序。但是,现在我需要链接以下目录中的一些库。
/opt/norton/lib
在我的make文件中,我有以下作品,但我需要使用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)
非常感谢任何建议,
答案 0 :(得分:7)
试用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生成的命令之间的区别。