Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake 包括柠檬图书馆_Cmake - Fatal编程技术网

Cmake 包括柠檬图书馆

Cmake 包括柠檬图书馆,cmake,Cmake,我只想将Lemon库添加到我的CMakeLists.txt中。当我不使用CMake时,我只是添加了“-lemon”,一切都很顺利,但现在我不知道将其添加到CMake文件的过程 已编辑的不包括myCMakeLists.txt: # Created by the script cgal_create_cmake_script_with_options # This is the CMake script for compiling a set of CGAL applications. proje

我只想将Lemon库添加到我的CMakeLists.txt中。当我不使用CMake时,我只是添加了“-lemon”,一切都很顺利,但现在我不知道将其添加到CMake文件的过程

已编辑的不包括myCMakeLists.txt

# Created by the script cgal_create_cmake_script_with_options
# This is the CMake script for compiling a set of CGAL applications.

project( ssp )


cmake_minimum_required(VERSION 2.6.2)
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
    cmake_policy(VERSION 2.8.4)
  else()
    cmake_policy(VERSION 2.6)
  endif()
endif()

set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true )

if ( COMMAND cmake_policy )

  cmake_policy( SET CMP0003 NEW )  

endif()

# CGAL and its components
find_package( CGAL QUIET COMPONENTS  )

if ( NOT CGAL_FOUND )

  message(STATUS "This project requires the CGAL library, and will not be compiled.")
  return()  

endif()

# include helper file
include( ${CGAL_USE_FILE} )


# Boost and its components
find_package( Boost REQUIRED )

if ( NOT Boost_FOUND )

  message(STATUS "This project requires the Boost library, and will not be compiled.")

  return()  

endif()

# include for local directory

# include for local package

set(CMAKE_CXX_FLAGS "-lemon")


# Creating entries for target: ssp
# ############################

add_executable( ssp  arrangement.cpp main.cpp polygonOperations.cpp scheduleGraph.cpp )

add_to_cached_list( CGAL_EXECUTABLE_TARGETS ssp )

# Link the executable to CGAL and third-party libraries
target_link_libraries(ssp   lemon ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
它非常简单,请使用:

在本例中,我链接到libm。在您的情况下,
m
将是
lemon
。至少我认为,从你的问题来看,我不确定库名是
lemon
还是
emon
,因为
-l
是标志,名称应该跟在后面(即
-lm
links libm)

对于我的简单示例,如果我运行
make VERBOSE=1
(并去掉不重要的行):


因此,它首先编译源文件,然后将
-lm
放在链接器行上。

库的名称实际上是
lemon
。但是当我运行
make
命令时,现在我得到了错误
clang:warning:-lemon:'linker'输入未使用,当'-c'存在时
@MauricioZambon因为它只是一个警告,所以生成的可执行文件仍然有效吗?不,它没有链接库。
make VERBOSE=1
为生成警告的编译行显示了什么?
/usr/bin/c++-DCGAL\u USE\u MPFR-DCGAL\u USE\u GMP-lemon-O3-DNDEBUG-I/opt/local/include-I/Users/../code-o CMakeFiles/ssp.dir/scheduleGraph.cpp.o-c/Users/../code/scheduleGraph.cpp
project(test)

add_executable(mine test.c)

target_link_libraries(mine m)
[100%] Building C object CMakeFiles/mine.dir/test.c.o
/usr/bin/cc    -o CMakeFiles/mine.dir/test.c.o   -c /home/tgallagher/temp/test.c
Linking C executable mine
/usr/local/bin/cmake -E cmake_link_script CMakeFiles/mine.dir/link.txt --verbose=1
/usr/bin/cc      CMakeFiles/mine.dir/test.c.o  -o mine -rdynamic -lm