5

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

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

非常感谢您的任何建议,

4

1 回答 1

8

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

于 2009-10-28T09:06:47.993 回答