zoukankan      html  css  js  c++  java
  • Cmake,链接一个外部(也可能是第三方,也可能是自己编译的)库

    相当于设置VS工程里面的:

    然后,为了链接成可执行文件,链接器就会到指定的目录寻找相应的库了。

    以下时Demo:

     1 cmake_minimum_required(VERSION 2.8)
     2 
     3 #set(CMAKE_C_COMPILER "D:VS2008ReleaseVCinamd64")
     4 #set(CMAKE_CXX_COMPILER "D:VS2008ReleaseVCinamd64")
     5 
     6 PROJECT(CONVERT) 
     7 
     8 add_definitions(-D_CONSOLE)
     9 add_definitions(-D_LIB)
    10 
    11 add_definitions(-D_VISUALC_)
    12 add_definitions(-DNeedFunctionPrototypes)
    13 
    14 include_directories(../)
    15 
    16 
    17 #shang LINK_DIRECTORIES(../../build/lib)
    18 LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/lib)
    19 
    20 
    21 
    22 set(SRC ${PROJECT_SOURCE_DIR}/convert.c)
    23 
    24 
    25 add_executable(convert ${SRC})
    26 
    27 set(IMAGEMAGICK_LIB CORE_wand CORE_magick CORE_wmf CORE_pixman CORE_ffi CORE_croco CORE_cairo CORE_webp CORE_ttf CORE_tiff CORE_png CORE_pango CORE_lqr  CORE_libxml CORE_librsvg CORE_lcms CORE_jp2 CORE_jbig CORE_glib CORE_filters CORE_coders CORE_jpeg CORE_bzlib CORE_zLib)
    28 target_link_libraries(convert ${IMAGEMAGICK_LIB} urlmon.lib)
    29 
    30 set(CompilerFlags
    31         CMAKE_CXX_FLAGS
    32         CMAKE_CXX_FLAGS_DEBUG
    33         CMAKE_CXX_FLAGS_RELEASE
    34         CMAKE_C_FLAGS
    35         CMAKE_C_FLAGS_DEBUG
    36         CMAKE_C_FLAGS_RELEASE
    37         )
    38 foreach(CompilerFlag ${CompilerFlags})
    39   string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
    40   string(REPLACE "/Ob0" "" ${CompilerFlag} "${${CompilerFlag}}")
    41   string(REPLACE "/TC" "" ${CompilerFlag} "${${CompilerFlag}}")
    42 endforeach()
    View Code

    Reference:

    http://stackoverflow.com/questions/8774593/cmake-link-to-external-library

  • 相关阅读:
    (DP+二分查找) leetcode 300. Longest Increasing Subsequence, 673. Number of Longest Increasing Subsequence
    linux
    电脑突然找不到wifi 的解决方法
    (字典序) leetcode 316. Remove Duplicate letters
    vector insert()
    randrange
    blur、medianBlur、GaussianBlur
    clip
    choice
    randint
  • 原文地址:https://www.cnblogs.com/foohack/p/3523685.html
Copyright © 2011-2022 走看看