0
CLON(ubuntu)のプロジェクトからrrd funcを呼び出していますが、rrd.hは/ usr/include /にあります。rrd_createをcファイルから呼び出してください
マイコード:
#include <stdio.h>
#include <rrd.h>
int main() {
size_t argc = 6;
char *argv[] = {
"test.rrd",
"--start",
"920804400",
"DS:speed:COUNTER:600:U:U",
"RRA:AVERAGE:0.5:1:24",
"RRA:AVERAGE:0.5:6:10"
};
rrd_create(argc, argv);
return 0;
}
CMakeLists.txt:
cmake_minimum_required(VERSION 3.8)
project(rddtool)
set(CMAKE_C_STANDARD 11)
set(SOURCE_FILES main.c /usr/include/rrd.h)
add_executable(rddtool ${SOURCE_FILES})
メッセージは、ビルドします。
Scanning dependencies of target rddtool
[ 50%] Building C object CMakeFiles/rddtool.dir/main.c.o
[100%] Linking C executable rddtool
CMakeFiles/rddtool.dir/main.c.o: In function `main':
/home/parallels/CLionProjects/rddtool/main.c:14: undefined reference to `rrd_create'
collect2: error: ld returned 1 exit status
CMakeFiles/rddtool.dir/build.make:94: recipe for target 'rddtool' failed
make[3]: *** [rddtool] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/rddtool.dir/all' failed
make[2]: *** [CMakeFiles/rddtool.dir/all] Error 2
CMakeFiles/Makefile2:79: recipe for target 'CMakeFiles/rddtool.dir/rule' failed
make[1]: *** [CMakeFiles/rddtool.dir/rule] Error 2
Makefile:118: recipe for target 'rddtool' failed
make: *** [rddtool] Error 2
私はrrd_create呼び出す必要がありますどのように? CMakeLists.txtで
あなたのコードは、おそらく大丈夫ですが、 'CMakeList.txt'は非常に重要なものが欠落しています。***ライブラリとリンクする***。 ['target_link_libraries'](https://cmake.org/cmake/help/latest/command/target_link_libraries.html)コマンドについて読んでください。 –