我在我的 C 源代码中包含了 <math.h>
库。但是我遇到了编译错误。
Error:
**undefined reference to 'sqrt'
**undefined reference to 'atan'
我该如何在CMakeLists.txt
文件中链接到<math.h>
?
CMakeLists.txt
文件就像这样:
cmake_minimum_required(VERSION 3.6)
project(project_name)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
set(SOURCE_FILES main.c)
add_executable(project_name ${SOURCE_FILES})
你必须添加此命令,用于<math.h>
target_link_libraries(project_name PRIVATE m)
就这些。
在 CMakeList.txt
中添加以下命令:
target_link_libraries(${PROJECT_NAME} m)
-lm
来静态链接数学库。如果使用gcc,则对于其他目标系统也可能如此。 - Codor