Question

I have created a simple application that works ok. However, now I need to link with some libraries in the following directory.

/opt/norton/lib

In my make file I have the following with works, but I need to use cmake

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

LIBS = -lntctrl

In my CMakeList.txt I have this but doesn't work I keep gettng the following error:

undefined reference to `nt_init'

This is my 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) 

Many thanks for any advice,

Was it helpful?

Solution

Try out TARGET_LINK_LIBRARIES(ntctrl), the -l flag should not be used there (guess from what I have in mind)

This is how I would write the cmake file:

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

To show what are the actual command lines run during a make, use:

make VERBOSE=1

Maybe this shows you the difference between what you ran manually and the cmake generated commands.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top