簡體   English   中英

使用 cmake 將 libconfig 與 c++ 鏈接時出錯?

[英]Error while linking libconfig with c++ using cmake?

這是我正在使用的 cmake 文件

cmake_minimum_required (VERSION 3.0)
project (midasd)

set (midas VERSION_MAJOR 0)
set (midas VERSION_MINOR 0)
set (midas VERSION_REVISION 1)

find_library(libconfig libconfig)

add_executable(midasd src/main.cpp)

target_link_libraries(midasd "${libconfig_LIBS}")

我面臨的問題是config_init未定義引用。 主要功能如下

#include <libconfig.h>

int main(int argc, char *argv[])
{
        midas::midasCtx *container = new midas::midasCtx(argc,argv);
        config_t cfg;
        config_init(&cfg);
        return 0;
}

CMAKE哪里出了CMAKE

實際上,在鏈接參數中, libconfig被簡單地識別為-lconfig而不是-llibconfig CMakeLists.txt 應包含

target_link_libraries(my_project config)

來源

本手冊( https://hyperrealm.github.io/libconfig/libconfig_manual.html )說“要與庫鏈接,請將'-lconfig++'指定為鏈接器的參數。”

所以我修復了以下代碼並完成了構建。

target_link_libraries(my_project config++)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM