作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只想将 Lemon 库添加到我的 CMakeLists.txt。当我不使用 CMake 时,我只是添加了“-lemon”并且一切正常,但现在我不知道将其添加到 CMake 文件的过程。
编辑确实包括我的CMakeLists.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} )
最佳答案
很简单,用target_link_libraries :
project(test)
add_executable(mine test.c)
target_link_libraries(mine m)
在这个例子中,我链接的是 libm。在您的情况下,m
将是 lemon
。至少我认为,我不确定你的问题是库名称是 lemon
还是 emon
因为 -l
是标志和名称应遵循(即 -lm
链接 libm)。
对于我的简单示例,如果我运行 make VERBOSE=1
(并删除不重要的行):
[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
所以它首先编译源文件,然后将 -lm
放在链接器行上。
关于CMake:包括柠檬库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632029/
我使用 Lemon 作为解析器生成器,如果您不了解 Lemon,它的错误处理与 yacc 和 bison 的相同。 Lemon 有一个选项可以在一组规则中定义错误标记,以捕获解析错误。生成的解析器的默
这是我的柠檬解析器语法 %nonassoc IMPLICATION. %nonassoc PERIOD. %nonassoc NEWLINE. %nonassoc END. %nonassoc STR
我正在尝试学习这个 spring-lemon 入门教程 ( https://naturalprogrammer.gitbooks.io/spring-lemon-getting-started/con
我是一名优秀的程序员,十分优秀!