日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

对C++库链接的认识

發布時間:2023/12/9 c/c++ 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对C++库链接的认识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 疑惑

  • 編譯所依賴的頭文件怎么目錄怎么指定?
  • 鏈接時必須給出動態文件還是只給定動態文件所在的目錄就可以
  • 2. 準備

    生成庫文件libsayhello.so

    sayhello.cpp

    #include <iostream> using namespace std;void sayhello() {cout << "Hello!" << endl; }

    CMakeLists.txt

    cmake_minimum_required(VERSION 2.8) project(SAYHELLO)add_library(sayhello SHARED sayhello.cpp)

    會生成一個libsayhello.so文件,將該文件任意文件夾中

    3. 實驗

    main.cpp

    #include <iostream> using namespace std;void sayhello() {cout << "Hello!" << endl; }

    sayhello.h

    #ifndef __SAYHELLO_H__ #define __SAYHELLO_H__void sayhello();#endif

    CMakeLists.txt

    cmake_minimum_required(VERSION 2.8) project(SAYHELLO)# add_library(sayhello SHARED sayhello.cpp)include_directories(/home/lzf/slam/testso) # 添加文件路徑# link_directories(/home/lzf/slam/testso/lib) # 添加庫文件的路徑,后面需要將庫鏈接到可執行文件上link_libraries(/home/lzf/slam/testso/lib/libsayhello.so) # 鏈接編譯所需要的動態文件add_executable(test main.cpp) # target_link_libraries(test sayhello) # 將庫鏈接到可執行文件上# target_link_libraries(test /home/lzf/slam/testso/lib/libsayhello.so) # 或者不添加路徑直接將文件鏈接到可執行文件上

    4. 結果

  • 用include_directories()來指定頭文件的路徑
  • 必須給出動態文件還是只給定動態文件所在的目錄會報錯
  • 鏈接庫的三種方法
    (1) link_directories + target_link_libraries
    (2) link_libraries
    (3) target_link_libraries
  • 總結

    以上是生活随笔為你收集整理的对C++库链接的认识的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。