我在我的 C 源代码中包含了
<math.h>
库。但我遇到编译错误。
Error:
**undefined reference to 'sqrt'
**undefined reference to 'atan'
如何链接到
<math.h>
中的 CMakeLists.txt
?
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)
您需要将数学库显式链接到您的可执行文件。喜欢,
# Define the executable of the application !
add_executable(main ${SOURCE_FILES})
# 'm' for including math library explicitly
target_link_libraries(main m)