链接第三方库

时间:2009-10-28 08:53:32

标签: cmake

我创建了一个工作正常的简单应用程序。但是,现在我需要链接以下目录中的一些库。

/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) 

非常感谢任何建议,

1 个答案:

答案 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生成的命令之间的区别。