CMakeFiles/demo.dir/src/dubins.c.o:在函数‘fmodr’中: dubins.c:(.text+0x1d):对‘floor’未定义的引用 CMakeFiles/demo.dir/src/dubins.c.o:在函数‘dubins_segment’中: dubins.c:(.text+0x4f0):对‘sin’未定义的引用 dubins.c:(.text+0x512):对‘cos’未定义的引用 dubins.c:(.text+0x537):对‘sin’未定义的引用 dubins.c:(.text+0x55a):对‘cos’未定义的引用 dubins.c:(.text+0x5a5):对‘sin’未定义的引用 dubins.c:(.text+0x5d0):对‘cos’未定义的引用
时间: 2024-03-09 11:49:00 浏览: 140
satrda_demo.zip_SATRDA 免费下载_pb demo_program c:/bs.dll_satrda使用_s
5星 · 资源好评率100%
这些错误表明编译器在编译 dubins.c 文件找不到一些数学函数的定义。这些函数包括 `floor`、`sin` 和 `cos` 等,它们通常包含在 C 语言的数学库中。
为了解决这些未定义引用的错误,可以在 CMakeLists.txt 文件中添加以下代码:
```
target_link_libraries(<target_name> m)
```
其中,`<target_name>` 是目标文件的名称,可以在 `add_executable` 或 `add_library` 函数中指定。`m` 是数学库的名称,通常用于链接数学库。
例如,如果目标文件的名称是 demo,可以将代码添加到 CMakeLists.txt 文件中:
```
add_executable(demo src/dubins.c)
target_link_libraries(demo m)
```
这样就可以链接数学库,解决未定义引用的错误了。
阅读全文